Программные средства для работы с нечёткими знаниями

ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, КОМПЛЕКСЫ И КОМПЬЮТЕРНЫЕ СЕТИ

А.В. Козлов, О.С. Тамер

ПРОГРАММНЫЕ СРЕДСТВА ДЛЯ РАБОТЫ С НЕЧЁТКИМИ ЗНАНИЯМИ

A.V. Kozlov, O.S. Tamer

SOFTWARE TOOLS FOR RUNNING FUZZY KNOWLEDGE

Ключевые слова: нечёткая логика, нечёткие системы, программные средства,

управленческие решения в бизнесе, модификаторы, нечёткое моделирование и управление, функция принадлежности, формализация.

Keywords: fuzzy logic, fuzzy systems, software tools, managerial decision in business, modifiers, fuzzy modeling and control, membership function, formalization.

Аннотация: авторы статьи проводят анализ программных средств для работы с нечёткими знаниями.

Abstract: the authors of the article analyze the software tools for running fuzzy knowledge.

Коммерческое программное обеспечение, основанное на нечётких моделях представления знаний, широко представлено на мировом рынке. Большая часть программных продуктов ориентирована на решение научно-технических задач и продвигается на рынок вместе с соответствующей аппаратурой. В табл.1 приведены наименования и краткие характеристики некоторых известных в России программных средств, основанных на нечётких моделях.

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

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

Таблица 1

Характеристика программных средств, основанных на нечётких моделях____________________

Продукт Фирма Область применения

AIS FuziCale Бизнес - прогноз Adaptive Information Systems FuziWare Тора - Инфо - Центр (дистрибьютер) Извлечение нечёткой информации и гибкие опрашивающие системы Программная среда, ориентированная на анализ финансовых проблем. Поддержка процессов принятия управленческих

CubiCalc HyperLogic’s решений Система для поддержки задач

FMC Transfer - Tech нечёткого моделирования и управления. Оболочка для разработки

FRIL FrillSystems Ltd нечётких ЭС Нечёткий язык логических

FuzzySoft Fuzzy Soft AG выводов Нечёткая система

Metus Fuzzy Metus Systems моделирования. Библиотека программ для

Libraly обработки нечётких

National представления на языке С/С++ Нейронная сеть и нечёткая

NeuFuz Semicondructor логика.

Aptronics Инструментальная среда для

Fide разработки нечётких систем,

FuzzyTECH Inform Software использующая микропроцессоры на нечёткой логике.

TILShell Togai Infra Logic Программная среда для разработки нечётких ЭС

Совокупность программ и аппаратных средств для создания нечётких ЭС

К известным алгоритмически-ориентированным программным продуктам относятся пакеты CubiCalc и NeuFuz. Пакет CubiCalc предоставляет набор средств для построения нечетких моделей, в том числе нечеткий редактор для ввода, вывода и редактирования значений ЛП, соответствующих им нечетких множеств и правил; операторы, позволяющие изменить значения ЛП с помощью специальных модификаторов (например, <несколько>,<очень>); весовые коэффициенты правил. Cubi Calc содержит нечеткий словарь и редактируемую базу знаний. Результаты нечеткого вывода представляются в виде двумерной решетки.

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

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

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

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

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

Коротко перечислим преимущества Fuzzy-систем по сравнению с прочими:

• Возможность оперировать входными данными, заданными нечетко. Например, непрерывно изменяющиеся во времени значения (динамические задачи), значения, которые невозможно задать однозначно (результаты статистических опросов, рекламные компании и т.д.);

• Возможность нечеткой формализации критериев оценки и сравнения: оперирование критериями “большинство”, ’’возможно”, ’’предпочтительно” и т.д.;

• Возможность проведения качественных оценок, как входных данных, так и выводимых результатов: вы оперируете не только собственно значениями данных, но их степенью достоверности (не путать с вероятностью!) и ее распределением;

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

Электронная таблица Fuzi Calc. Быстрые вычисления нечетких данных. Пакет Fuzi Calc фирмы FuziWare сравнительно молод (1995 год), но успел завоевать популярность как недорогой инструмент, позволяющий проводить быстрые расчеты в различных областях бизнеса и получать результаты с вполне приемлемой степенью точности.

Несколько слов о самом пакете - краткое описание меню:

FILE - стандартные операции с файлами и настройка параметров печати EDIT - стандартные операции редактирования и встраивания внешних объектов FUZZY - предоставление числа в ячейке в виде нечеткого распределения (fuzzify) либо в виде обычного числа (crisp). Если в ячейке присутствует серый треугольник слева, значит число задано нечетко. Посмотреть его распределение можно на правом верхнем экране, редактировать - двойной щелчок на соответствующей ячейке

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

FORMAT - изменение графических параметров выделенных объектов: рамки,

выравнивание и т.п.

OPTION S - общие установки таблицы WINDOW - стандартные операции работы с окнами

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

Пакет Cubi Calc. Управление динамическими системами. Пакет Cubi Calc 2.0 фирмы Hiper Logic хорошо известен специалистам, занимающимся задачами динамического управления. Эффективность применения Cubi Calc в данных задачах такова, что организация КОКОМ (США), в свое время следившая за тем, чтобы новые американские технологии в компьютерно-программной области не повышали военно-промышленный потенциал, накладывала очень жесткие ограничения на распространение этого пакета. С помощью Cubi Calc успешно решаются задачи динамического управления в финансовом планировании, технологические процессы, моделирование сложных предметных областей с качественно изменяющимися параметрами, сравнительно-оценочные задачи.

Формализация данных и выявление правил. Программа Rule Maker для Cubi Calc 2.0. Rule

Maker - приложение с пакету Cubi Calc. Его назначение - обработка массивов данных, выделение в массивах групп данных по некоторым признакам (кластеризация), выявление связей между выделенными группами (построение правил). Поскольку границы кластеров задаются нечётко, возможны альтернативные выводы с указанием степени их достоверности, то есть оперирование критериями “лучше - хуже”, “возможно” и т.д. Задача нахождения правил решается в два приёма:

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

- Выявление корреляционных зависимостей между входными и выходными значениями (т.н. корреляция “всё по всём”). Отличие от классического метода в том, что корреляции ищутся и вычисляются не между изменениями данных, а между изменениями в границах найденных кластеров. Что и выражается в наборе правил, индицируемом в меню RULES. То есть система опять же оперирует на уровне принципов поведения объекта. В самом деле, присвоив соответствующим входным и выходным переменным названия “больше”, ”меньше”, ”хуже”, ”лучше” и т.д., мы получим набор интуитивно понятных правил, описывающих поведение рассматриваемого предмета.

В меню программы можно выбрать:

Method:

- correlation analysis - выявление правил с помощью вычисления корреляций;

- Sparse interpolation - кусочно-линейная интерпелляция функции. Каждая запись в файле преобразуется в кластер, для которого определяется правило;

- Slice interpolation - сглаженная интерполяция функции, вычисляются средние значения соотношений между входом и выходом;

- Data Point Rules - также одна из разновидностей механизма кусочно-линейной интерполяции;

- Input Vars | Filed | # Adjs - названия переменных, номера полей в записях, количество кластеров;

- Output Vars | Field - соответственно, для выходных переменных;

- Data File | Fields per record - Тип файла данных (двоичный или бинарный) и количество полей на одну запись;

-Input Adjectives - способы кластеризации.

В заключении стоит отметить, что Rule Maker является весьма важной компонентой Cubi Calc и может сэкономить много времени и сил для обработки больших объёмов информации.

Библиографический список

1. Борисов А.Н., Крумберг О., Федоров И.П. Принятие решений на основе нечетких моделей. - Рига: Зинатне, 1990.

2. Нечеткие множества и теории возможностей. Последние достижения : Пер. с анг. / Под ред .Р.Р. Ягера. - М.: Радио и связь, 1986.

3. Нечеткое множество в моделях управления и искусственного интеллекта /Под ред. Д.А.Поспелова. - М.: Физмалит, 1986.

4. Фролов Ю.В. Интеллектуальные системы и управленческие решения. - М.: МГПУ, 2000.

5. Хант Э. Искусственный интеллект: Пер. с англ./ Под ред. В. Л.Стефанюка. - М.: Мир, 2001.

6. Экспертные системы. Принципы работы и примеры: Пер. с англ. / Под ред. Р. Форсайта -М.: Радио и связь, 2004.