НЕЧЕТКАЯ ЛОГИКА :
НА ГРЕБНЕ "ТРЕТЬЕЙ
ВОЛНЫ"
Андрей Масалович
"В один из дней я понял,
что наука идет не туда. Я не
помню точно день, но я
хорошо помню этот момент.
Бог двадцатого столетия
перестал быть Богом... "
Бартоломей Коско
Менеджеры финансовой
корпорации Yamaichi Securities
приникли к терминалам. На
экранах разворачивалась
безмолвная драма
крупномасштабной
финансовой войны. Впервые
в истории рынка ценных
бумаг электронный
"трейдер" вел
долгосрочную игру на
Токийской бирже,
самостоятельно
распоряжаясь
беспрецедентно крупной
суммой. Разумеется, это был
всего лишь тестовый прогон
- на вход программы
последовательно
подавались данные за два
последних года. Однако
волнение нарастало - шаг за
шагом программа
приближалась ко дню
печально известного
"черного
понедельника", когда
биржевой индекс Nikkei Stock
Average внезапно рухнул,
поставив на грань
банкротства десятки
участников рынка. Вот до
момента катастрофы
остается месяц, полмесяца,
неделя... И вдруг, выдав
красный сигнал тревоги,
программа начала поспешно
"сбрасывать" пакеты
акций, опустошая портфель
и закрывая игровые
позиции. К немалому
изумлению комиссии (и
безмерной радости
разработчиков) система
пережила "черный
понедельник"
практически без потерь.
Так в начале 1990-го года
прошел "боевое
крещение" первый
представитель нового
поколения
интеллектуальных
банковских систем. Систем,
в основу которых положен
красивый и мощный научный
аппарат, известный под
необычным названием
"нечеткая логика".
Судьба нечеткой логики
(fuzzy logic), как нового
научного направления, во
многом сходна с ее
содержанием - необычна,
сложна и парадоксальна.
Достаточно сказать, что
еще в 1989 году Национальный
научный фонд США обсуждал
вопрос об исключении fuzzy
logic из всех институтских
учебников, а годом позже
Комитет по контролю над
экспортом (COCOM) внес ее в
список критически важных
оборонных технологий, не
подлежащих экспорту
потенциальному
противнику. Страсти не
улеглись до сих пор. К
счастью, попытки полного
отрицания новой науки
сегодня обречены на провал
- слишком велик
"послужной список"
нечеткой логики и очевиден
успех многочисленных
приложений.
Что же это за наука,
которую одни считают
"третьей волной
интеллектуального
программирования"
(именно так гласит надпись
на коробке популярного
пакета CubiCalc), а другие -
авантюрой и спекуляцией ? В
основе нечеткой логики
лежит теория нечетких
множеств, изложенная в
серии работ Лотфи Заде (Lotfi
Zadeh) в 1965-1973 годах [1]. В этих
работах рассматриваются
элементы множеств, для
которых функция
принадлежности
представляет собой не
жесткий порог
(принадлежит/не
принадлежит), а плавную
сигмоиду (часто упрощаемую
ломаной линией),
пробегающую все значения
от нуля до единицы. Кстати,
некоторые ученые полагают,
что само название
"fuzzy" (что означает
"нечеткий",
"размытый",
"пушистый")
применительно к теории
Заде является не совсем
адекватным и излишне
рекламным и предлагают
заменить его на более
точное - "непрерывная
логика".
Надо сказать, что понятие
нечеткого множества
вполне согласуется с
нашими интуитивными
представлениями об
окружающем мире. Большая
часть используемых нами
понятий по своей природе
нечетки и размыты и
попытка загнать их в шоры
двоичной логики приводит к
недопустимым искажениям.
Только представьте, сколь
безбрежную гамму оттенков
вы теряете, представляя
одним и тем же значением
"True" уверенное
"Да" политика и
несмелое "Да" юной
подруги ! А возьмите любой
из терминов, которыми мы
пользуемся в повседневных
дорожных ситуациях :
"притормози",
"возьми правее",
"немного поднажми" и
др. Становится понятным
кризис традиционных
экспертных систем и АСУ,
оказавшихся неспособными
справиться с
многообразием и
нечеткостью реальных
задач.
Несмотря на внешнюю
простоту и естественность
базовых понятий нечеткой
логики, понадобилось более
пяти лет, чтобы построить и
доказать комплекс
постулатов и теорем,
делающих логику логикой, а
алгебру - алгеброй.
Параллельно с разработкой
теоретических основ новой
науки, Заде прорабатывал
различные возможности ее
практического применения.
И в 1973 году эти усилия
увенчались успехом - ему
удалось показать, что
нечеткая логика может быть
положена в основу нового
поколения
интеллектуальных систем
управления. Практически
сразу после выхода в свет
фундаментального доклада
Заде [2] небольшая
предприимчивая фирма из
Дании применила
изложенные в нем принципы
для усовершенствования
системы управления
сложным производственным
процессом - и через четыре
года прибыли от внедрения
новой системы исчислялись
десятками тысяч долларов.
Чтобы понять, что дает
применение нечеткой
логики в реальных задачах,
рассмотрим простой пример.
Представим себе, что вы -
участник российского
финансового рынка и хотите
повысить доходность своих
операций с ГКО
(государственными
казначейскими
обязательствами).
Очевидно, путь к большим
деньгам лежит в правильном
прогнозировании будущих
изменений цен и
оптимальной стратегии
купли-продажи различных
выпусков ГКО. Однако
попытка решить эту задачу
"в лоб" - предсказать
точные котировки ценных
бумаг хотя бы на два дня
вперед - обречена на провал
(поверьте, многие
проверяли). Нечеткая
логика предлагает более
элегантное и эффективное
решение этой задачи. Все
выпуски ГКО делятся на
группы по времени
погашения ("дальние",
"ближние" и т.д.), после
чего строится модель
рынка, позволяющая оценить
сравнительную доходность
этих групп на неделю
вперед. Нечеткие
рекомендации системы
(Например : "на следующей
неделе надо продавать
"короткие" бумаги и
активно покупать
"шестимесячные")
реально повышают прибыль
от игры - на десять и более
процентов.
Этот несложный пример
позволяет
проиллюстрировать два
ключевых преимущества
нечеткой логики по
сравнению с другими
интеллектуальными
системами. Во-первых, при
тех же объемах входной и
выходной информации,
центральный блок принятия
решений становится
компактнее и проще для
восприятия человеком.
Во-вторых, решение сложной
и громоздкой задачи
вычисления точных
воздействий подменяется
значительно более простой
и гибкой стратегией
адаптивного
"подруливания" - при
сохранении требуемой
точности результата !
Использование нечеткой
логики также
принципиально упрощает
решение ряда задач
управления. Так,
классическая учебная
задача - загнать длинный
грузовик в длинный гараж -
вызовет большие
затруднения у
приверженцев традиционных
диф.уравнений. А нечеткая
логика позволяет
справиться с этой задачей
даже пятикласснику. Прежде
всего, используя лишь три
нечетких параметра -
скорость и ориентацию
автомобиля и расстояние до
гаража, вы получаете
исчерпывающее описание
текущей ситуации. Далее вы
строите простую и
естественную систему
нечетких правил типа :
"Если до гаража
достаточно далеко,
скорость невелика, а нос
смотрит влево - возьми
правее". В пакете CubiCalc,
одном из наиболее
популярных пакетов на
основе нечеткой логики,
для полной реализации
указанной задачи
понадобилось описать лишь
двенадцать ситуаций и
тридцать пять нечетких
правил - каждое не сложнее
приведенного выше. Вы
можете часами наблюдать за
кружевом трасс на экране -
действия системы
экономичны и безошибочны.
Совершенно естественно,
что мимо такого
перспективного
инструмента не могли
пройти военные - и в начале
80-х годов в Японии, а затем
и в США в обстановке
глубокой секретности были
развернуты комплексные
работы по использованию
нечеткой логики в
различных оборонных
проектах. Одним из самых
впечатляющих результатов
стало создание
управляющего
микропроцессора на основе
нечеткой логики (т.н.
"fuzzy-chip"), способного
автоматически решать
известную "задачу о
собаке, догоняющей
кота". Нетрудно
догадаться, что в роли кота
выступала
межконтинентальная ракета
противника, а в роли собаки
- мобильная зенитная
ракета, слишком легкая для
установки на нее
громоздкой традиционной
системы управления.
Кстати, задача о коте и
собаке с той поры
относится к разряду
классических, обошла все
учебные пособия и пакеты
по нечеткой логике, и вы
можете вдоволь
поэкспериментировать с
различными стратегиями
поражения движущейся цели
одним или несколькими
самоуправляемыми
зарядами. Между прочим,
впоследствии те же методы
нечеткой логики позволили
решить и обратную задачу -
разработать маневры для
эффективного ухода от
анти- ракет.
За двадцать пять лет
своего развития нечеткая
логика претерпела ряд
существенных изменений и
дополнений. Прежде всего,
благодаря усилиям
Бартоломея Коско (Bart Kosko) [5],
была исследована
взаимосвязь нечеткой
логики и теории нейронных
сетей и доказана
основополагающая
FAT-теорема (Fuzzy Approximation Theorem),
подтвердившая полноту
нечеткой логики. В работах
Марии Земанковой (Maria
Zemankova-Leech) [6] и других ученых
были заложены основы
теории нечетких СУБД,
способных оперировать
неточными данными,
обрабатывать нечетко
заданные запросы, а также
использовать качественные
параметры наряду с
количественными. Была
разработана нечеткая
алгебра - необычная наука,
позволяющая использовать
при вычислениях как
точные, так и
приблизительные значения
переменных [7]. И наконец,
самое широкое
распространение получили
изобретенные Коско т.н. Fuzzy
Cognitive Maps [3,5] - нечеткие
когнитивные модели, на
которых базируется
большинство современных
систем динамического
моделирования в финансах,
политике и бизнесе.
Сегодня элементы
нечеткой логики можно
найти в десятках
промышленных изделий - от
систем управления
электропоездами и боевыми
вертолетами до пылесосов и
стиральных машин.
Рекламные кампании многих
фирм (преимущественно
японских) преподносят
успехи в использовании
нечеткой логики как особое
конкурентное
преимущество. Без
применения нечеткой
логики немыслимы
современные ситуационные
центры руководителей
западных стран, в которых
принимаются ключевые
политические решения и
моделируются всевозможные
кризисные сиутации. А
тридцатишестилетний Барт
Коско, один из классиков
нечеткой логики, своими
философскими
высказываниями повергает
в шок представителей
классической науки,
утверждая, что бинарная
логика - не более чем
роковая ошибка античной
цивилизации [4].
Не обошла нечеткая
логика и программные
системы, обслуживающие
большой бизнес. Первыми,
разумеется, были
финансисты, задачи которых
требуют ежедневного
принятия правильных
решений в сложных условиях
непредсказуемого рынка.
Вслед за упомянутой в
начале статьи компанией
Yamaichi Securities, за разработку
системы на основе нечеткой
логики взялся Fuji Bank [3].
Однако если эксперты Yamaichi
сосредоточились на средне-
и долгосрочных операциях с
корпоративными бумагами,
то Fuji Bank “замахнулся” на
более сложную финансовую
задачу - игру на рынке
ценных бумаг в режиме
“on-line” (которую брокеры
красноречиво
именуют“коррида”). Первый
год использования новой
системы приносил банку в
среднем $770000 в месяц (и это
только официально
объявленная прибыль !).
Интересно, что нечеткая
экспертная система,
управляющая игрой
“электронного трейдера”
Fuji Bank, состоит всего из 200
правил (50 из которых взяты
непосредственно из
классического учебника
Murphy по финансовому
анализу) - в то время, как
база знаний системы Yamaichi
включает более 600 нечетких
правил. Впрочем, успех и
изящество системы Fuji Bank
отчасти объясняется тем,
что ее разработку
возглавляла семья ученых
Yasunobu - та самая, которая
ранее создала нечеткую
систему управления
пригородными поездами
японского города Сендай.
Вслед за финансистами,
обеспокоенные успехами
японцев и утратой
стратегической
инициативы, нечеткой
логикой заинтересовались
промышленные гиганты США.
Motorola, General Electric, Otis Elevator,
Pacific Gas & Electric, Ford и другие
в начале 90-х начали
инвестировать в
разработку изделий,
использующих нечеткую
логику. И наконец
произошел прорыв. Получив
солидную финансовую
“подпитку”, фирмы,
специализирующиеся на
нечеткой логике, получили
возможность адаптировать
свои разработки для
широкого круга приложений.
“Оружие элиты” вышло на
массовый рынок.
Среди лидеров нового
рынка выделяется
американская компания Hyper
Logic, основанная в 1987 году
Фредом Уоткинсом (Fred Watkins),
учеником Коско.
Первоначально компания
специализировалась на
нейронных сетях (на рынке
Москвы можно найти один из
ее ранних продуктов - пакет
OWL , содержащий исходные
тексты всех известных
реализаций нейронных
сетей), однако вскоре
целиком
сконцентрировалась на
нечеткой логике. Недавно
вышедшая на рынок вторая
версия пакета CubiCalc фирмы
HyperLogic является одной из
наиболее мощных
экспертных систем на
основе нечеткой логики.
Пакет содержит
интерактивную оболочку
для разработки нечетких
экспертных систем и систем
управления, а также run-time
модуль, позволяющий
оформлять созданные
пользователем системы в
виде отдельных программ.
От других пакетов CubiCalc
отличает также наличие
весьма мощной утилиты Rule
Maker, позволяющей решать
одну из основных проблем в
работе с нечеткой логикой -
автоматическое построение
нечетких правил. Судя по
всему, в основе RuleMaker лежат
усовершенствованные
алгоритмы кластеризации
Кохонена, хотя авторы
держат “начинку” пакета в
тайне - и, видимо, не без
оснований, поскольку на
упаковке программы до сих
пор красуется этикетка
“Не для экспорта из США”.
А запрет на ввоз в Россию
самого пакета CubiCalc был
преодолен (не без помощи
автора) лишь в середине 1995
года. Сегодня CubiCalc
применяется
отечественными умельцами
при решении десятков
различных задач - от
адаптивного управления
оптовыми складами до
моделирования рынка
фьючерсных контрактов.
Большинство пользователей
CubiCalc - это финансовые и
политические аналитики,
которым нечеткая логика
помогает ориентироваться
в нашей нечеткой
действительности [8].
Помимо Hyper Logic среди
“патриархов” нечеткой
логики можно также назвать
такие фирмы как IntelligenceWare,
InfraLogic, Aptronix. Однако их
продукция пока не очень
известна на рынке России.
Всего же на мировом рынке
представлено более 100
пакетов, в том или ином
виде использующих
нечеткую логику. В трех
десятках СУБД реализована
функция нечеткого поиска.
Собственные программы на
основе нечеткой логики
анонсировали такие
гиганты как IBM, Oracle и
другие. Любопытно, что
“взрыв” на рынке
программных пакетов на
основе нечеткой логики
пришелся на последние
месяцы. Так, еще полгода
назад в картотеке автора
было всего около 15
программ, использующих
нечеткую логику, а сегодня
их уже 102.
Немногие знают, что
нечеткой логике обязано
своим рождением и новое
поколение систем
имитационного
моделирования.
Большинство программных
комплексов, используемых в
мире для экономического,
политического и
финансового
моделирования, базируется
на методах т.н. динамики
систем (system dynamics). А
последняя, в свою очередь,
использует аппарат
нечетких когнитивных схем
(FCM), предложенных Коско в
начале 80-х и впервые
испытанных “в боевых
условиях” во время
политического кризиса в
Южной Африке. В те дни
правительство США встало
перед необходимостью
принимать важные
военно-политические
решения в условиях
неполноты и заведомой
недостоверности
поступающей из-за океана
информации. Цена возможной
ошибки была весьма высока -
на карте стояла судьба
крупных американских
инвестиций. Традиционные
методы пасовали перед
сложной неформализованной
задачей. И тогда была
построена когнитивная
модель ситуации,
основанная на
качественных выкладках
аналитика Уильямся (Williams).
Оказалось, что запутанный
клубок
причинно-следственных
связей уладывается в
компактную графовую
модель, верхний уровень
которой содержит всего
девять ключевых элементов,
полностью определяющих
развитие ситуации [3]. С тех
пор без систем
когнитивного
моделирования не
обходится ни один
ситуационный центр
военного и политического
руководства западных
стран. В России первая
программа когнитивного
моделирования появилась
лишь в этом году.
Первооткрывателем рынка
стал пакет iThink, уже
успевший
продемонстрировать свои
возможности при
моделировании выборов
Президента России. Модель
развития политической
ситуации, сделанная с
помощью пакета iThink в
середине мая и
опубликованная в начале
июня [9], точно определила
соотношение электората
основных претендентов - 34%
против 30% и предсказала
исход второго тура выборов
задолго до начала первого.
Примечательно, что
отклонения результатов
самого первого прогноза,
сделанного за полтора
месяца до голосования, от
точных ответов
“уложились” в рамки
погрешности методов,
применяемых ВЦИОМ и
другими социологическими
службами. И это без
проведения дорогостоящих
опросов населения !
Весьма вероятно, что
пакет iThink в недалеком
будущем станет и
первооткрывателем нового
рынка России - рынка услуг
по повышению доходности
бизнеса (т.н. BPR - Business Processing
Re- engineering). Во времена
нестабильной экономики,
когда бизнесмены готовы
слушать аналитиков и
консультантов, рынок BPR
воистину безграничен. Так
что возможно уже в
следующем году наиболее
сообразительные и
предприимчивые фирмы
России, взяв на вооружение
инструмент типа iThink,
освоят свои первые
миллионы на волне
сверхприбылей нового
модного вида деятельности.
Однако перечисленные
выше программы - это
сложные комплексные
системы, требующие
определенных усилий по
освоению и настройке. На
другом полюсе рынка
находится семейство
легких и компактных
программ, основанных на
нечеткой алгебре. Их
наиболее ярким
представителем является
пакет FuziCalc американской
фирмы FuziWare. Внешне FuziCalc -
это обычная электронная
таблица, и пока вы
проводите точные
вычисления, разница
неощутима. Однако
традиционная электронная
таблица утратит
работоспособность при
первом же нечетко
известном значении. Что
делать, например, если вы
планируете использование
средств своего банка на
неделю вперед, а остатки на
корсчетах известны
неточно ? Выпускник
мехмата вам подскажет :
остановить вычисления,
пригласить математика,
изучить распределение
вероятностей всех
используемых величин,
методами Монте-Карло
получить достаточное
количество выборок,
произвести вычисления,
после чего восстановить
функцию распределения
итоговой выборки.
Замечательно, вот только
исходная задача может
утратить актуальность
(неделя, скорее всего,
успеет закончиться). FuziCalc
предлагает другой путь,
значительно более простой.
Поля, значения которых
известны неточно,
помечаются специальным
значком (в FuziCalc это серый
треугольник). Сами
значения в простейшем
случае представляются
четверкой чисел (минимум,
максимум и наиболее
вероятный диапазон).
Например : “Обычно в моем
магазине бывает от 30 до 50
продаж в день, но никогда
не менее 10 и не более 80”. В
графическом представлении
такому высказыванию
соответствует
трапециевидная функция
распределения (впрочем,
пакет позволяет описывать
и значительно более
сложные функции). Итоговый
результат вычислений
будет представлен
подобными же четверками
чисел , например :
“Завтрашняя прибыль
вероятнее всего будет
находиться в диапазоне 1050 -
1200 долларов, в наихудшем
случае - около 800, в
наилучшем - 1200”. Благодаря
своей компактности и
изумительной простоте
интерфейса, пакет FuziCalc в
большом почете у
"крутых" бизнесменов,
бесконечно далеких от
высокой науки - банкиров,
крупных оптовиков и даже
торговцев пивом ! А если
совсем серьезно -
уникальная способность
пакета проводить быстрые
оценочные вычисления без
накопления ошибки прочно
"прописала" его в
арсенале различных служб
быстрого реагирования -
спасателей из МЧС и др. Там,
где исходные данные
неточны и неполны, а
скорость получения первых
оценок критична - нечеткая
алгебра практически не
имеет альтернатив.
На принципах нечеткой
алгебры построен и один из
отечественных программных
продуктов - известный
многим пакет
“Бизнес-прогноз”.
Назначение этого пакета -
оценка рисков и
потенциальной
прибыльности различных
бизнес-планов,
инвестционных проектов и
просто идей по развитию
бизнеса. “Ведя”
пользователя по сценарию
его замысла, программа
задает ряд вопросов,
допускающих как точные
количественные ответы, так
и приближенные
качественные оценки - типа
“маловероятно”, “степень
риска высока” и т.д.
Обобщив всю полученную
информацию в виде единой
схемы бизнес- проекта,
программа не только
выносит окончательный
вердикт о рискованности
проекта и ожидаемых
прибылях, но и указывает
критические точки и слабые
места в авторском замысле.
От аналогичных
иностранных пакетов
“Бизнес-прогноз”
отличается простотой,
дешевизной и,разумеется,
русскоязычным
интерфейсом.
Впрочем, вполне очевидно,
что программа
“Бизнес-прогноз” - лишь
первая ласточка, за
которой неизбежно
последуют новые
разработки российских
умельцев. Не перевелись
еще математики на земле
нашей. По плечу им и
нечеткая логика и прочие
заморские штучки.
Получить
консультацию, увидеть в
работе и приобрести любые
пакеты, основанные на
нечеткой логике, можно в
центральном офисе
московской фирмы
"Тора-центр", уже
оснастившей аналитические
службы более 200 банков и
финансовых компаний, а
также ряда крупных
гос.структур. Фирма
обладает наиболее полной
коллекцией программ
"высокой науки" -
нейронных сетей,
генетических алгоритмов,
нечеткой логики, теории
хаоса, когнитивного
моделирования и др.
Литература
1. Zadeh, Lotfi. Fuzzy Sets / Information
and Control, 8(3), June 1965, pp.338-53. >
2. Zadeh, Lotfi. Outline of a New Approach
to the Analysis of Complex Systems and Decision
Processes / IEEE Transactions on Systems, Man,
and Cybernetics, SMC-3(1), January 1973,pp.28-44.
3. McNeill, Daniel and Freiberger, Paul.
Fuzzy Logic / Touchstone Rockefeller Center,
1993.
4. Kosko, Bart. Fuzzy thinking / Hyperion,
1993. 5. Kosko, Bart. Neural Networks and Fuzzy
Systems / Englewood Cliffs, NJ: Prentice-Hall,
1991.
6. Zemankova-Leech, Maria, and Abraham
Kandel. Fuzzy Relational Data Bases: A Key to
Expert Systems / Cologne: Verlag TUV Rheinland,
1984.
7. Fuzzy Arithmetic / Prentice Hall, 1995.
8. А.И.Масалович. Этот
нечеткий, нечеткий,
нечеткий мир / PC Week/RE N.16,1995.
9. А.И.Масалович.
Прогноз дает ... компьютер /
Софтмаркет, N 23, 1996, стр.6.
Сведения об авторе :
Масалович Андрей
Игоревич к.ф.-м.н., главный
инженер НИО-11 НИИ
"Квант", лауреат
стипендии РАН
"Выдающимся ученым
России" за 1993 г.
За статью о нечеткой
логике в еженедельнике PC
Week "Этот нечеткий,
нечеткий, нечеткий мир"
удостоен премии IPCC
"Лучшая работа в
компьютерной журналистике
России" за 1995 г.
К автору можно
обратиться по e-mail : kvant@aimas.msk.su
TORA-Centre (c) 1995-98
|