Введение в теорию нечеткой логики. Нечеткая логика на практике

Для Windows 24.08.2019
Для Windows

6 сентября 2017 в возрасте 96 лет умер Лотфи Заде, создатель нечеткой логики.
6 сентября 2017 в компании, которая основана на технологиях нечеткой логики и нейронных сетей, и в которой я пока работаю, начались такие преобразования, которые только в рамках этой самой нечеткой логики и можно как-нибудь описать. И с завтрашнего дня будет расторгнут мой контракт, хотя если с 15 сентября я и становлюсь безработным, то это можно будет оценить только в терминах нечетной логики - на 0,28, на 0,78 или 1,58 - жизнь покажет.
А два года назад, к 50-летию нечеткой логики, Александр Малютин написал заметку на научпоп-сайт «Перельман перезвонит» (nowwow.info). Сайт этот ныне уже умер, и поэтому следует спасти статью. Ведь про нечетную логику написал журналист, который в свое время возглавлял «Известия». Кстати, блогеры-домохозяйки могут не выходить - нечетная логика объясняется на примере стиральной машины. Лучше поучитесь у профи, как надо писать.

К 50-ЛЕТИЮ ОДНОГО ИЗ САМЫХ УДАЧНЫХ МАТЕМАТИЧЕСКИХ ТЕРМИНОВ

Нечеткой логике полвека - в июне 1965 года в журнале Information and Control вышла основополагающая статья «Нечеткие множества» (Fuzzy Sets), которую написал американский математик азербайджанского происхождения Лотфи Заде. Долгих ему лет. Жаль, до юбилея не дожил британский математик танзанийского происхождения Ибрагим Мамдани, который в 1975 году представил первую реальную систему управления с нечеткой логикой - контроллер, следящий за работой парового двигателя. После чего технология стала активно развиваться, найдя применение во многих областях.

Заде 50 лет назад предложил математическое описание живой человеческой логики. В обычной математической логике есть только «истина» (обозначаемая еще числом 1) или «ложь» (0). В нечеткой логике степень истинности высказывания может быть любой - точнее, любым числом от 0 до 1. Красива ли вон та девушка? Ни да, ни нет, а «0,78; что красива».

Непривычно звучит. Как это вообще понять? Для простоты можно считать, что кто-то провел опрос, в котором 78% респондентов назвали девушку красивой, а остальные нет. А может ли быть от таких конструкций практическая польза? Вполне. Допустим, нужно принять решение, отправлять ли девушку на конкурс мисс чего-нибудь (серьезные расходы!), а для этого нужно оценить ее шансы на призовое место. Тогда-то и пригодятся оценки не только красоты, но и других важных для победы и тоже нечетких параметров: остроумия, эрудированности, доброты и т. п. Нужно только понять, откуда брать степени истинности и как оперировать с нечеткими данными. Заде понял. Необходимый для практики математический аппарат он разработал к 1973 году. Мамдани на его основе и сделал свой контроллер.

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

Другое дело, когда у научного понятия есть бытовой омоним. Тогда обывателю кажется, что он понимает, о чем речь, особенно если посмотрел про это кино. Таких «понятных» терминов в математике и физике тоже немало. Черная дыра. Магический квадрат. Горизонт событий. Очарованный кварк. Теорема о двух милиционерах. Ну и конечно - матрица! Кто же не знает, что матрица - это когда Киану Ривз бегает по потолку. И не надо нам рассказывать про какие-то таблицы с числами.

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

Выдающийся советский ядерщик Георгий Флеров говорил: «Объяснять важному начальству научную проблему нужно не так, как правильно, а так, как ему будет понятно. Это ложь во благо». Правильно. Руководство не нужно смущать лекциями про «спонтанные нарушения электрослабой симметрии». Расскажите лучше про «частицу Бога» и «Великую тайну гравитации». Вранья, кстати, в этом особого нет - а инвестиции есть. Не беда, что околонаучные сказки порождают завышенные ожидания и, как следствие, избыточное вливание денег, заканчивающееся разорением. Общая польза в итоге перевешивает. Пузырь доткомов в 2001 году лопнул, но интернет-технологии получили мощнейший импульс.

Нечеткой логике в этом смысле повезло не только с собственным названием, но и с причислением к списку наук и технологий, объединенных названием «искусственный интеллект» - наряду с нейронными сетями, логическим программированием, экспертными системами и др. Это уже большая маркетинговая игра, где участники списка получают эффект от пакетной рекламы в рамках раскрутки единого научного мегабренда. Шутка ли: искусственный интеллект! Вот уж чарующая перспектива понятней некуда. Каждому в дом по железному слуге. Пусть умные кибернетические организмы делают всю работу, а мы будем только вводить пин-коды и пить пина-колады. Ради такого света в конце тоннеля не жаль никаких денег.

Флеровская «ложь во благо» на примере искусственного интеллекта сработала на 100%. Японское правительство с 1982-го по 1992 год потратило полмиллиарда долларов на разработку «компьютера пятого поколения» с элементами «мышления». Как задумывалось, не получилось. В частности, скис язык логического программирования Prolog, которому в 1980-е прочили первые роли. Ну и ладно. Все ж как с доткомами: роботов в некоторых странах в итоге все равно научились делать отличных.

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

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

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

Отметим, что он выдал два точных параметра, два конкретных числа: степень прозрачности раствора и скорость изменения прозрачности раствора. А вот дальше начинает работать алгоритм Ибрагима Мамдани.

На первом этапе, который называется фаззификацией (введением нечеткости), оба числа превращаются в нечеткие понятия. Допустим, мы ввели три градации загрязнения: «слабое», «среднее» и «сильное». Тогда вместо уровня прозрачности раствора появляются три нечетких суждения о загрязнении, скажем: «0,3; слабое», «0,6; среднее», «0,1; сильное».

Что значат эти цифры? Как и в случае с девушкой, чью нечеткую красоту мы обсуждали в начале текста, их можно считать результатами некоего референдума, на котором 30% граждан проголосовали, что загрязнение при данном уровне прозрачности раствора слабое, 60% - что среднее, 10% - сильное. А что, кто-то этот референдум проводил? Можно считать, что да.

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

Итак, у нас есть один нечеткий параметр «степень загрязнения», теперь нужен второй: «тип загрязнения». Проводим еще один «референдум». Допустим, он показал, что при такой скорости изменения концентрации раствора, которую нам выдал датчик, загрязнение следует считать, например, «0,2; малой жирности», «0,5; средней жирности», «0,3; большой жирности».

Наступает второй этап алгоритма: применение нечетких правил. Теперь вместе с экспертами мы обсуждаем, каким должно быть время стирки в зависимости от степени и типа загрязнения. Перебирая все возможные варианты, получаем - трижды три - девять правил следующего вида: «если загрязнение сильное и средней жирности, то время стирки - большое». Далее по законам логики (мы их для простоты пропустим) подсчитываем степень истинности для времени стирки. Пусть в результате нечеткое время стирки получилось таким: «0,1; малое», «0.7; среднее», «0,2; большое». Можно приступать к заключительному этапу.

Он называется дефаззификацией, то есть ликвидацией нечеткости - нам ведь необходимо дать машине точную вводную, сколько времени вращать барабан. Подходы есть разные, один из распространенных заключается в вычислении «центра тяжести». Допустим, эксперты сказали, что малое время стирки это 20 минут, среднее - 40 минут, большое - 60 минут. Тогда с учетом «веса» каждого значения получаем итоговый параметр: 20*0,1 + 40*0,7 + 60*0,2 = 42. Одежда будет «достаточно чистой» после 42 минут стирки. Ура.

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

Производители стиральных машин даже принялись рекламировать применение нечеткой логики и прямо на изделиях или в инструкциях писать Fuzzy Logic, Fuzzy Control, Logic Control. Бизнесмены люди прагматичные и не размещают каких попало слов на своем товаре. Так что если вы увидели на машине надпись Fuzzy Logic, это значит: она «продает» товар. Технология помимо своих сугубо потребительских свойств гипнотизирует покупателя еще и названием, мотивируя на расставание с лишней сотней долларов. Уж не знаю, получает ли с этого роялти Лотфи Заде, но это было бы справедливо. Ни один другой раздел математики на бытовой технике не упоминается.

Но вы же заметили, наверное, что по ходу описания работы стиральной машины с нечеткой логикой не встретилось ни одного места, где можно было бы заподозрить, что у машины появился собственный разум. Только инструкции вроде служебных, только решение запрограммированных задач. Машина будет вовремя сливать воду. Но она не будет понимать, что она делает и зачем. В ее микропроцессорную голову никогда не придет мысль перестать стирать и ради прикола устроить в ванной потоп. Если только эта мысль не посетит программиста, который для прикола встроит в машину еще какую-нибудь Funny Logic. Сама же машина до такого додуматься не может.

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

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

У нас, говоря словами Станислава Лема, обязательно получится Усилитель Умения Водить Авто - как уже получился Усилитель Умения Остановить Стирку. А вот Усилитель Интеллекта, появление которого предсказывал великий фантаст, на основе нынешних технологий «искусственного интеллекта», в том числе нечеткой логики, несмотря на все ее изящество и полезность, не получится. Нечеткая логика это всего лишь способ сократить объем вычислений при решении некоторого класса задач. И на том спасибо.

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

Нечеткая логика (fuzzy logic )возникла как наиболее удобный способ построения сложными технологическими процессами, а также нашла применение в бытовой электронике, диагностических и других экспертных системах. Математический аппарат нечеткой логики впервые был разработан в США в середине 60-х годов прошлого века, активное развитие данного метода началось и в Европе.

Классическая логика развивается с древнейших времен. Ее основоположником считается Аристотель. Логика известна нам как строгая наука, имеющая множество прикладных применений: например, именно на положениях классической (булевой) логики основан принцип действия всех современных компьютеров. Вместе с тем классическая логика имеет один существенный недостаток - с ее помощью невозможно адекватно описать ассоциативное мышление человека. Классическая логика оперирует только двумя понятиями: ИСТИНА и ЛОЖЬ (логические 1 или 0), и исключая любые промежуточные значения. Все это хорошо для вычислительных машин, но попробуйте представить весь окружающий вас мир только в черном и белом цвете, вдобавок исключив из языка любые ответы на вопросы, кроме ДА и НЕТ. В такой ситуации вам можно только посочувствовать.

Традиционная математика с ее точными и однозначными формулировками закономерностей также имеет в своей основе классическую логику. А поскольку именно математика, в свою очередь, представляет собой универсальный инструмент для описания явлений окружающего мира во всех естественных науках (физика, химия, биология и т. д.) и их прикладных приложениях (например, теория измерений, теория управления и т. д.), неудивительно все эти науки оперируют математически точными данными, такими как: «средняя скорость автомобиля на участке пути длиной 62 км равнялась 93 км/ч». Но мыслит ли в действительности человек такими категориями? Представим, что в вашей машине вышел из строя спидометр. Означает ли это, что отныне вы лишены возможности оценивать скорость вашего перемещения и не в состоянии ответить на вопросы типа «быстро ли ты доехал вчера домой?». Разумеется нет. Скорее всего вы скажете в ответ что-то вводе: «Да, довольно быстро». Собственно говоря, вы скорее всего ответите примерно в том же духе, даже и в том случае, если спидометр вашей машины был в полном порядке, поскольку, совершая поездки, не имеете привычки непрерывно отслеживать его показания в режиме реального времени. То есть, в своем естественном мышлении применительно к скорости мы склонны оперировать не точными значениями в км/ч или м/с, а приблизительными оценками типа: «медленно», «средне», «быстро» и бесчисленным множеством полутонов и промежуточных оценок: «тащился как черепаха», «катился, не торопясь», «не выбивался из потока», «ехал довольно быстро», «несся как ненормальный» и т. п.

Если попытаться выразить наши интуитивные понятия о скорости графически, то получится нечто вроде рисунка ниже.

Здесь по оси X отложены значения скорости в традиционной строгой математической записи, а по оси Y – т. н. функцию принадлежности (изменяется от 0 до 1) точного значения скорости к нечеткому множеству , обозначенному тем или иным значением лингвистической переменной «скорость»: очень низкая, низкая, средняя, высокая и очень высокая. Этих градаций (гранул) может быть меньше или больше. Чем больше гранулированность нечеткой информации, тем больше она приближается к математически точной оценке (не забудем, что и выраженная в традиционной форме измерительная информация всегда обладает некоторой погрешностью, а значит в определенном смысле также является нечеткой). Таким образом, например значение скорости 105 км/ч принадлежит к нечеткому множеству «высокая» со значением функции принадлежности 0.8, а к множеству «очень высокая» со значением 0.5.

Другой пример – оценка возраста человека. Часто мы не имеем абсолютно точной информации о возрасте того или иного знакомого нам человека и поэтому, отвечая на соответствующий вопрос, вынуждены давать нечеткую оценку типа: «ему лет 30» или «ему далеко за 60» и т. п. Особенно часто используются такие значения лингвистической переменной «возраст» как: «молодой», «средних лет», «старый» и т. п. На рисунке ниже приведен графически возможный вид нечеткого множества «возраст = молодой» (очевидно, с точки зрения человека, которому самому ну никак не больше 20 лет;)

Нечеткие числа, получаемые в результате “не вполне точных измерений”, во многом похожи (но не тождественны! см. пример с двумя бутылками) распределениям теории вероятностей, но свободны от присущих последним недостатков: малое количество пригодных к анализу функций распределения, необходимость их принудительной нормализации, соблюдение требований аддитивности, трудность обоснования адекватности математической абстракции для описания поведения фактических величин. По сравнению с точными и, тем более, вероятностными методами, нечеткие методы измерения и управления позволяют резко сократить объем производимых вычислений, что, в свою очередь, приводит к увеличению быстродействия нечетких систем.

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

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

Процесс построения (графического или аналитического) функции принадлежности точных значений к нечеткому множеству называется фаззификацией данных.

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

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

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

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

Математический аппарат

Характеристикой нечеткого множества выступает функция принадлежности (Membership Function). Обозначим через MF c (x) – степень принадлежности к нечеткому множеству C, представляющей собой обобщение понятия характеристической функции обычного множества. Тогда нечетким множеством С называется множество упорядоченных пар вида C={MF c (x)/x}, MF c (x) . Значение MF c (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 С может оказаться горячим, для другого – не слишком горячим. Именно в этом и проявляется нечеткость задания соответствующего множества.

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

Пересечение двух нечетких множеств (нечеткое "И"): A B: MF AB (x)=min(MF A (x), MF B (x)).
Объединение двух нечетких множеств (нечеткое "ИЛИ"): A B: MF AB (x)=max(MF A (x), MF B (x)).

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

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

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

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

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

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

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

$$MF\,(x) = \,\begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b &\ \\ 1\,-\,\frac{x\,-\,b}{c\,-\,b},\,b\leq \,x\leq \,c &\ \\ 0, \;x\,\not \in\,(a;\,c)\ \end{cases}$$

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

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

$$MF\,(x)\,=\, \begin{cases} \;1\,-\,\frac{b\,-\,x}{b\,-\,a},\,a\leq \,x\leq \,b & \\ 1,\,b\leq \,x\leq \,c & \\ 1\,-\,\frac{x\,-\,c}{d\,-\,c},\,c\leq \,x\leq \,d &\\ 0, x\,\not \in\,(a;\,d) \ \end{cases}$$

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

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

$$MF\,(x) = \exp\biggl[ -\,{\Bigl(\frac{x\,-\,c}{\sigma}\Bigr)}^2\biggr]$$

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

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

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

Нечеткий логический вывод

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

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

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

Пусть в базе правил имеется 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).

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

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

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

    $$alfa_i\,=\,\min_i \,(A_{ik}\,(x_k))$$

    $$B_i^*(y)= \min_i \,(alfa_i,\,B_i\,(y))$$

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

    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

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

    Дефазификация, или приведение к четкости. Существует несколько методов дефазификации. Например, метод среднего центра, или центроидный метод:
    $$MF\,(y)= \max_i \,(B_i^*\,(y))$$

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

Интеграция с интеллектуальными парадигмами

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

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

Нечеткие нейронные сети

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

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

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

Адаптивные нечеткие системы

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

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

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

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

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

Нечеткие ассоциативные правила

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

Нечеткие когнитивные карты

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

Нечеткая кластеризация

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

Литература

  • Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. – М.: Мир, 1976.
  • Круглов В.В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. – М.: Физматлит, 2002.
  • Леоленков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. – СПб., 2003.
  • Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. – М., 2004.
  • Масалович А. Нечеткая логика в бизнесе и финансах. www.tora-centre.ru/library/fuzzy/fuzzy-.htm
  • Kosko B. Fuzzy systems as universal approximators // IEEE Transactions on Computers, vol. 43, No. 11, November 1994. – P. 1329-1333.
  • Cordon O., Herrera F., A General study on genetic fuzzy systems // Genetic Algorithms in engineering and computer science, 1995. – P. 33-57.

Классическая логика по определению не может оперировать с нечетко очерченными понятиями, поскольку все высказывания в формальных логических системах могут иметь только два взаимоисключающих состояния: «истина» со значением истинности «1» и «ложь» со значением истинности «0». Одной из попыток уйти от двузначной бинарной логики для описания неопределенности было введение Лукашевичем трехзначной логики с третьим состоянием «возможно» со значением истинности «0,5». Введя в рассмотрение нечеткие множества, Заде предложил обобщить классическую бинарную логику на основе рассмотрения бесконечного множества значений истинности. В предложенном Заде варианте нечеткой логики множество значений истинности высказываний обобщается до интервала 0 ; 1 , т.е. включает как частные случаи классическую бинарную логику и трехзначную логику Лукашевича. Такой подход позволяет рассматривать высказывания с различными значениями истинности и выполнять рассуждения с неопределенностью.

Нечеткое высказывание – это законченная мысль, об истинности или ложности которой можно судить только с некоторой степенью уверенности 0 ; 1: «возможно истинно», «возможно ложно» и т.п. Чем выше уверенность в истинности высказывания, тем ближе значение степени истинности к 1 . В предельных случаях 0 , если мы абсолютно уверены в ложности высказывания, и 1 , если мы абсолютно уверены в истинности высказывания, что соответствует классической бинарной логике. В нечеткой логике нечеткие высказывания обозначаются так же, как и нечеткие множества: A , B , C … . Введем нечеткое отображение T: Ω → 0 ; 1 , которое действует на множестве нечетких высказываний Ω = A , B , C … . В этом случае значение истинности высказывания A ∈ Ω определяется как T A ∈ 0 ; 1 и является количественной оценкой нечеткости, неопределенности, содержащейся в высказывании A .

Логическое отрицание нечеткого высказывания A обозначается ¬ A – это унарная (т.е. производимая над одним аргументом) логическая операция, результат которой является нечетким высказыванием «не A », «неверно, что A », значение истинности которого:

T ¬ A = 1 − T A .

Помимо приведенного выше исторически принятого основного определения нечеткого логического отрицания (нечеткого «НЕ»), введенного Заде, могут использоваться следующие альтернативные формулы:

T ¬ A = 1 − T A 1 + λT A , λ > − 1, – нечеткое λ -дополнение по Сугено;

T ¬ A = 1 − T A p , p > 0, – нечеткое p -дополнение по Ягеру.

Логическая конъюнкция нечетких высказываний A и B обозначается A ∩ B – это бинарная (т.е. производимая над двумя аргументами) логическая операция, результат которой является нечетким высказыванием « A и B », значение истинности которого:

T A ∩ B = min T A ; T B .

Помимо приведенного выше исторически принятого основного определения логической конъюнкции (нечеткого «И»), введенного Заде, могут использоваться следующие альтернативные формулы:

T A ∩ B = T A T B – в базисе Бандлера-Кохоута;

T A ∩ B = max T A + T B − 1 ; 0 – в базисе Лукашевича-Гилеса;

T A ∩ B = T B , при T A = 1 ; T A , при T B = 1 ; 0, в остальных случаях; – в базисе Вебера.

Логическая дизъюнкция нечетких высказываний A и B обозначается A ∪ B – это бинарная логическая операция, результат которой является нечетким высказыванием « A или B », значение истинности которого:

T A ∪ B = max T A ; T B .

Помимо приведенного выше исторически принятого основного определения логической дизъюнкции (нечеткого «ИЛИ»), введенного Заде, могут использоваться следующие альтернативные формулы:

T A ∪ B = T A + T B − T A T B – в базисе Бандлера-Кохоута;

T A ∪ B = min T A + T B ; 1 – в базисе Лукашевича-Гилеса;

T A ∪ B = T B , при T A = 0 ; T A , при T B = 0 ; 1, в остальных случаях; – в базисе Вебера.

Нечеткая импликация нечетких высказываний A и B обозначается A ⊃ B – это бинарная логическая операция, результат которой является нечетким высказыванием «из A следует B », «если A , то B », значение истинности которого:

T A ⊃ B = max min T A ; T B ; 1 − T A .

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

T A ⊃ B = max 1 − T A ; T B – Гедель;

T A ⊃ B = min T A ; T B – Мамдани;

T A ⊃ B = min 1 ; 1 − T A + T B – Лукашевич;

T A ⊃ B = min 1 ; T B T A , T A > 0 – Гоген;

T A ⊃ B = min T A + T B ; 1 – Лукашевич-Гилес;

T A ⊃ B = T A T B – Бандлер-Кохоут;

T A ⊃ B = max T A T B ; 1 − T A – Вади;

T A ⊃ B = 1, T A ≤ T B ; T B , T A > T B ; – Бауэр.

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

Нечеткая эквивалентность нечетких высказываний A и B обозначается A ≡ B – это бинарная логическая операция, результат которой является нечетким высказыванием « A эквивалентно B », значение истинности которого:

T A ≡ B = min max T ¬ A ; T B ;max T A ; T ¬ B .

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

Судьба нечеткой логики, как нового научного направления, сходна с ее содержимым - необычна, сложна и парадоксальна. В основе нечеткой логики лежит теория нечетких множеств, изложенная в серии работ Заде в 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.



Рекомендуем почитать

Наверх