интересно
Предыдущая | Содержание | Следующая

Нечеткая логика

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

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

Нечеткая логика (существует также термин нечеткое представление) дает нам прекрасный инструмент для решения задач с динамически изменяющимися данными.

Отличительные свойства метода:

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

Над переменными, заданными в нечетком виде, можно производить вычисления и получать ответ с заданной степенью точности;

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

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

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

Пример электронной таблицы, реализующей механизм нечеткой логики - пакет Fuzi Calc фирмы FuziWare.

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

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

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

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

Даже если вы еще только начинающий пользователь, вероятно, вам уже вкратце знакома электронная таблица Ехcel. При беглом взгляде FuziCalc очень похож на него: такой же белый фон, разбитый на клетки, серые полоски слева и сверху, нумерующие строки таблицы цифрами, а колонки -буквами; сверху - строчка с выпадающими опциями меню, только вариантов меню несколько меньше. Выбор ячеек мышью и адресация - относительная (С7, M21), абсолютная ($С$7, SM$21) и смешанная (Sf;7, M$21) - все это уже вам, думаю, знакомо. Кнопок на сером фоне, обеспечивающих ускоренный доступ к различным функциям меню, как и самих соответствующих функций, заметно меньше, чем в таблице-эталоне.

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

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

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

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

Сейчас в России доступен гораздо более мощный (и более дорогой) программный продукт, основанный на нечеткой логике - CubiCalc. Его начали использовать в своей работе некоторые банки.