Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Программные системы и вычислительные методы
Правильная ссылка на статью:

Анализ программных средств реализации нечетких экспертных систем

Глушенко Сергей Андреевич

кандидат экономических наук

доцент, Ростовский государственный экономический университет (РИНХ)

344002, Россия, г. Ростов-на-Дону, ул. Большая Садовая, 69, оф. 308

Glushenko Sergey Andreevich

PhD in Economics

associate professor of the Department of Information Systems and Applied Computer Sciences at Rostoc State University of Economics

344002, Russia, Rostov-on-Don, str. Bol'shaya Sadovaya, 69, of. 308

gs-gears@yandex.ru
Другие публикации этого автора
 

 

DOI:

10.7256/2454-0714.2017.4.24251

Дата направления статьи в редакцию:

22-09-2017


Дата публикации:

11-01-2018


Аннотация: Объектом исследования является предприятия и организации различных отраслей, ведущие проектно–ориентированный бизнес. Предметом исследования являются процессы принятия решений, протекающие при реализации различных проектов. Повышение эффективности принимаемых решений может быть достигнуто посредством применения экспертных систем (ЭС). При этом ЭС должна основываться на современных методах обработки информации в условиях неопределённости. Для этого предлагается использовать экспертные системы на базе методов и моделей нечеткой логики. Особое внимание в статье автор уделяет функциональным требования, которым должна соответствовать нечеткая ЭС. Автор подробно рассматривает существующий перечень программных средств (ПС) реализации нечетких ЭС, а для выявления оптимального ПС, соответствующего требованиям, применяется метод анализа сложных систем по критерию функциональной полноты профессора Г.Н. Хубаева. В результате проведения анализа установлено, что существующие ПС во многом не отвечают функциональным требованиям, поэтому разработка нового и эффективного инструментария является актуальной задачей. Анализ также позволил определить программные средства со схожим набором функций, оценить степень подобия и степень соответствия рассматриваемых систем «эталонной» модели информационной системы, учитывающей требования пользователя.


Ключевые слова:

экспертная система, риск, нечеткая логика, функциональная полнота, количественная оценка, матрица превосходства, матрица подобия, матрица поглощения, граф, эталонная модель

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 16-31-00285 мол_а «Методы и модели нечеткой логики в системах принятия решений управления рисками»

Abstract: The research focuses on enterprises and organizations of various industries, leading project-oriented business. The subject of the study are the decision-making processes that are present in the implementation of various projects. Increasing the effectiveness of decisions can be achieved through the use of expert systems. At the same time, the expert system should be based on modern methods of processing information in conditions of uncertainty. The author suggests using expert systems based on methods and models of fuzzy logic. Particular attention in the article the author pays to the functional requirements, which must correspond to fuzzy expert system. The author examines in detail the existing list of software for the implementation of fuzzy expert system, and to identify the optimal software which meets the requirements, the method of analysis of complex systems by the criterion of functional completeness of Professor G.N. Khubaeva.As a result of the analysis it was established that the existing software solutions do not meet the functional requirements in many respects, therefore the development of a new and effective tool is an actual task.The analysis also made it possible to identify software tools with a similar set of functions, to estimate the degree of similarity and the degree of correspondence of the systems of the "reference" model of the information system that takes into account the requirements of the user.


Keywords:

expert system, risk, fuzzy logic, functional completeness, quantitative estimation, matrix of superiority, similarity matrix, absorption matrix, graphs, reference model

Введение

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

Большинство процессов принятия управленческих решений в проектах по созданию конечного продукта происходят в условиях неопределённости, которая проявляется в виде ограниченности или нечеткости информации об условиях реализации проектного продукта (ПП) [1-4]. Как показал анализ, неопределённость присутствует на всех этапах жизненного цикла (ЖЦ) проекта, что определяет высокую ответственность лица, принимающего решения (ЛПР) [5].

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

Повышение эффективности принимаемых решений в управлении проектами возможно с помощью автоматизации процессов идентификации, качественного и количественного анализа рисков посредством применения экспертных систем (ЭС), обеспечивающих поддержку принятия решений. Данные системы включают совокупность процедур, которые обеспечивающих ЛПР, необходимой информацией и рекомендациями, которые помогают облегчить процесс принятия решений. При этом ЭС должна основываться на современных методах обработки информации в условиях неопределённости и позволять проводить анализ рисков, вырабатывать, оценивать и принимать эффективные решения. Для этого целесообразно использовать экспертные системы на базе методов и моделей нечеткой логики, которые предоставляют возможность строить модели предметных областей, характеризующихся существенной неопределенностью [6, 7]. Такие системы позволяют реализовать комплексный учет различных факторов (качественных и количественных), используя нечеткие числа, множества и лингвистические переменные [8-10].

Формирование требований к системе

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

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

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

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

На рисунке 1 представлено схематичное отображение требований к программному средству реализации нечеткой экспертной системы для поддержки принятия решений.

_1

Рисунок 1 – Схема требований к системе

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

_2

Рисунок 2 – Схема вариантов использования требований к системе

Действующее лицо — Менеджер (ЛПР) задействует вариант использования (ВИ) «Формирование нечеткой модели» в процессе нечеткого моделирования для конкретной предметной области, который включает ВИ «Формирование лингвистических переменных» и «Формирование базы правил». Далее посылается сообщение на выполнение варианта использования (ВИ) «Задание цели нечеткого моделирования». Цель определяет необходимые входные лингвистические переменные (ЛП) и базу правил, которые должен сформировать Менеджер. База правил и база ЛП (рабочая область) определяют возможность выполнения ВИ «Инициировать нечеткий вывод», который вычисляет функцию принадлежности выходной лингвистической переменной, характеризующей цель проекта. Вариант использования «Выполнить обучение модели» выполняется по сигналу от Менеджера и использует ВИ «Инициировать нечеткий вывод» для корректировки параметров функций принадлежности нечеткой модели.

Сравнительная количественная оценка программных средств по критерию функциональной полноты

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

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

Для реализации сравнительного анализа обозначим множество «систем–претендентов» как S = {Si}, где i = [1, n]. В таблице 1 представлены наименования анализируемых программных средств, среди которых присутствует гипотетическая система, подходящая под требования «эталонной» модели.

Таблица 1 – Перечень исследуемых ПС

_1_01

Приведем краткое описание исследуемых информационных систем.

Программное средство FuzzyTECH, которое разработано в компании INFORM GmbH (Inform Software Corporation, Германия), применяется для решения задач, основанных на нечеткой логике [12]. Являясь специализированным средством, позволяет разрабатывать и исследовать нечеткие модели разного типа в графическом режиме, преобразовывать модели в программный код, для последующего использования в микроконтроллерах.

CubiCalc – пакет, предназначенный для реализации методов нечеткой логики в качестве экспертных систем с использованием нечетких правил [13]. Применяется для ситуационного моделирования в различных сферах, для управления в условиях недостаточной информации. С помощью пакета решаются задачи динамического управления и динамического моделирования с изменяющимися параметрами в сложных предметных областях. Программа может работать в интерактивном и пакетном режиме и позволяет осуществлять редактирование нечетких правил как в исходном коде (на подобии языка "С"), так и в графическом представлении.

Fuzzy Logic Toolbox – пакетное расширение MATLAB, включающее инструменты проектирования систем нечеткой логики, проведения кластеризации нечеткими алгоритмами, а также создания экспертных систем на основе нечеткой логики [14]. Пакет включает функции разработки нечеткой модели с использованием командной строки и графического интерфейса. Функции пакета, написанные на открытом языке MATLAB, позволяют контролировать как исполняются алгоритмы, как изменяется исходный код, а также есть возможность создания собственных функции и процедур.

FlexTool – специализированный коммерческий пакет расширения MATLAB от компании CynapSys [15]. В отличии от пакета Fuzzy Logic Toolbox, в FlexTool доступны функции обучения адаптивных нечетких моделей на основе генетических алгоритмов и эволюционных вычислений. В пакете присутствуют три типа функций принадлежности (трапецеидальная, гауссова, треугольная,), два алгоритма нечеткого вывода (Сугено, Мамдани), десять способов нечеткой импликации и восемь методов дефаззификации. Обучение модели с помощью генетического алгоритма может быть осуществлено с помощью стандартного, модифицированного (Micro-GA) и устойчивого (Steady State GA) алгоритма.

Scilab – пакет математических прикладных программ, имеющий открытое окружение для научных расчётов [16]. Это свободно распространяемое программное средство, что является самым главным достоинством. Пакет позволяет работать с большим числом специальных функций (интегральные функции, Неймана, Бесселя), решать задачи линейной алгебры, симуляции, оптимизации, имеет мощные средства для работы с полиномами, матрицами, производить численное интегрирование, а также включены средства построения и работы с графиками. Несмотря на то, что пакет Scilab содержит огромное количество математических функций, обладает возможностями добавления новых функций, которые могут быть написаны на таких языках как Fortran, C, C++ и т.д.

Deductor – платформа для создания законченных аналитических решений, представляющая собой программный эмулятор нейрокомпьютера [17]. Программное средство реализует многослойную нейронную сеть, которая обучается с помощью алгоритма обратного распространения ошибки. ПС применяться для таких задач как анализ информации, построение моделей процессов и прогнозирование. В платформу встроены современные методы извлечения, визуализации и анализа данных.

FisPro (Fuzzy Inference System Professional) – профессиональное программное обеспечение для проектирования, разработки и тестирования систем нечеткого вывода, базирующихся на математическом аппарате нечеткой логики [18]. FisPro обладает широкими возможностями для создания и работы систем нечеткого вывода, включая возможности автоматического обучения систем и создания баз нечетких правил, является свободно распространяемым программным продуктом.

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

Словарь функций, состоящий из множества реализуемых программными средствами, обозначим как F = {Fj}, где j = [1, m]. Количество выделенных функций (таблица 2) для ПС составило – 21, т.е. j = 21.

Таблица 2 – Анализируемые функции ПС

_2_02

Исходная информация будет представлена в виде матрицы X (таблица 3), элементы которой `||x_(ij)||` определяются по следующему принципу:

1_01

Таблица 3 – Элементы матрицы X

_3

Абсолютная оценка функционального превосходства одного программного средства над другим характеризуется матрицей `P^(10)=||p_(ik)^(10)||`, где элементы `p_(ik)^(10)` равны числу функций, выполняемых программной системой Si, но не реализуемой системой Sk, где i, k = [1, n]. Элемент `p_(ik)^(10)` представляет собой мощность разности множеств Zi и Zk, т.е. `p_(ik)^(10)=|F_(i)F_(k)|` .

Матрица `P^(10)=||p_(ik)^(10)||` абсолютной оценки функционального превосходства одного программного средства над другим (таблица 4).

Таблица 4 – Матрица абсолютного функционального превосходства одного программного средства над другим

_4

Относительная характеристика сопоставимости программных средств в части дублирующихся в них функций, т.е. степень поглощения системой Sk системы Si может быть осуществлена с помощью матрицы `H=||h_(ik)||`, где элементы матрицы вычисляются по следующей формуле:

2_01

Матрица `H=||h_(ik)||`, характеризующая относительную сопоставимость программных средств (таблица 5) в части дублирующихся в них функций.

Таблица 5 – Матрица, характеризующая относительную сопоставимость программных средств

_5

Относительную характеристику взаимосвязи программных средств, основанную на объединенной их попарной функциональности, т.е. степень подобия систем Sk и Si, описывает матрица `G=||g_(ik)||` , где элементы матрицы gik представляют собой оценку подобия систем - меру подобия Жаккарда и вычисляются по следующей формуле:

3_01

Матрица `G=||g_(ik)||`, характеризующая относительную взаимосвязь программных средств (таблица 6).

Таблица 6 – Матрица относительной взаимосвязи программных средств

_6

На основе матриц P, H и G строят логические матрицы превосходства `P_(0)=||p_(ik)^(0)||` , подобия `G_(0)=||g_(ik)^(0)||` и поглощения (включения) `H_(0)=||h_(ik)^(0)||` . Элементы матрицы Р0 вычисляются по следующей формуле:

4_01

матрицы H0 вычисляются по формуле:

5_01

а для матрицы G0 как:

6_01

Где `epsi_(p)` , `epsi_(g)` и `epsi_(h)` пороговые значения соответственно для матриц Р0, H0 и G0.

Логическая матрица превосходства для порогового значения `epsi_(p)` = 5 (таблица 7).

Таблица 7 – Логическая матрица превосходства для порогового значения `epsi_(p)` = 5

_7

Логическая матрица подобия для порогового значения `epsi_(g)` = 0,6 (таблица 8).

Таблица 8 – Логическая матрица подобия для порогового значения `epsi_(g)` = 0,6

_8

Логическая матрица поглощения функциональности информационных систем для уровня `epsi_(h)` = 0,8 (таблица 9).

Таблица 9 – Логическая матрица поглощения функциональности информационных систем для уровня `epsi_(h)` = 0,8

_9

На основе логических матриц превосходства, подобия и поглощения (включения) строят графы превосходства (рисунок 3), подобия (рисунок 4) и поглощения (рисунок 5) ИС.

_3_01

Рисунок 3 - Граф превосходства информационных систем при `epsi_(p)` = 5

_4_01

Рисунок 4 - Граф подобия информационных систем при `epsi_(g)` = 0,6

_5_01

Рисунок 5 - Граф поглощения информационных систем при `epsi_(h)` = 0,8

Построенные матрицы и графы позволяют сделать следующие выводы: система S8 превосходит практически все системы; системы S1, S4, S5 и S6 имеют схожие функции, а связь S8 только с S1 объяснимо наличием уникальных функций формирования нечеткой модели; системы S1 и S8 поглощают многих, а у систем S3, S5 и S6 присутствует взаимное поглощение.

Заключение

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

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

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

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 16-31-00285 мол_а «Методы и модели нечеткой логики в системах принятия решений управления рисками».

Библиография
1. Долженко А.И. Нечеткие модели — эффективный инструментарий для анализа потребительского качества информационных систем: монография. Ростов н/Д: РГЭУ «РИНХ», 2008. 220 с.
2. Мацяшек Л.А. Анализ требований и проектирование систем. Разработка информационных систем с использованием UML. М.: Изд. дом «Вильямс», 2002. 432 с.
3. Уокер Р. Управление проектами по созданию программного обеспечения. Унифицированный подход. М.: Лори, 2002. 424 с.
4. Шафер Д.Ф., Фатрел Р.Т., Шафер Л.И. Управление программными проектами: достижение оптимального качества при минимуме затрат. М.: Изд. дом «Вильямс», 2004. 1136 с.
5. Долженко А.И., Глушенко С.А. Анализ предпосылок создания СППР управления рисками проектов информационных систем // Информационные системы, экономика, управление трудом и производством: Ученые записки. Выпуск 14. Ростов–на–Дону: РГЭУ (РИНХ), 2011. 165 c.
6. Частиков А.П., Леднева И.Ю. Нечеткие экспертные системы // Наука Кубани, № 6, 2000. С. 58-63.
7. Полковникова Н.А., Курейчик В.М. Разработка модели экспертной системы на основе нечёткой логики // Известия ЮФУ. Технические науки, № 1 (150), 2014. С. 83-92.
8. Борисов В.В., Круглов А.С., Федулов А.С. Нечеткие модели и сети.-2-е изд., стереотип. М.: Горячая линия-Телеком, 2012. 284 с.
9. Долженко А.И. Методология анализа рисков при проектировании информационных систем с использованием нечетких сетей // Вестник Ростовского государственного экономического университета «РИНХ», Т. 24, № 2, 2007. С. 148–155.
10. Заде Л.А. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976. 168 с.
11. Хубаев Г.Н. Сравнение сложных программных систем по критерию функциональной полноты // Программные продукты и системы (SOFTWARE&SYSTEMS), № 2, 1998. С. 7-9.
12. Программный продукт «FuzzyTECH» // Inform Software. URL: http://www.fuzzytech.com/ (дата обращения: 7.03.2017).
13. Программный продукт «CubiCalc» // Hyper Logic. URL: http://www.tora-centre.ru/library/fuzzy/fuzi_i.htm (дата обращения: 20.02.2017).
14. Программный продукт «Fuzzy Logic Toolbox» // MatLab. URL: https://ch.mathworks.com/products/fuzzy-logic.html (дата обращения: 3.03.2017).
15. Программный продукт «FlexTool» // CynapSys. URL: http://cynapsys.com/page.cfm7CON-TENTS=include/contents.htm&BODY==products/flextool/flextool.htm (дата обращения: 17.02.2017).
16. Программный продукт «Scilab» // Scilab Enterprises. URL: http://www.scilab.org (дата обращения: 25.02.2017).
17. Программный продукт «Deductor» // BaseGroup Labs. URL: https://basegroup.ru/deductor/description (дата обращения: 15.02.2017).
18. Программный продукт «FisPro» // INRA Irstea. URL: https://www7.inra.fr/mia/M/fispro/fispro2013_en.html (дата обращения: 1.03.2017)
References
1. Dolzhenko A.I. Nechetkie modeli — effektivnyi instrumentarii dlya analiza potrebitel'skogo kachestva informatsionnykh sistem: monografiya. Rostov n/D: RGEU «RINKh», 2008. 220 s.
2. Matsyashek L.A. Analiz trebovanii i proektirovanie sistem. Razrabotka informatsionnykh sistem s ispol'zovaniem UML. M.: Izd. dom «Vil'yams», 2002. 432 s.
3. Uoker R. Upravlenie proektami po sozdaniyu programmnogo obespecheniya. Unifitsirovannyi podkhod. M.: Lori, 2002. 424 s.
4. Shafer D.F., Fatrel R.T., Shafer L.I. Upravlenie programmnymi proektami: dostizhenie optimal'nogo kachestva pri minimume zatrat. M.: Izd. dom «Vil'yams», 2004. 1136 s.
5. Dolzhenko A.I., Glushenko S.A. Analiz predposylok sozdaniya SPPR upravleniya riskami proektov informatsionnykh sistem // Informatsionnye sistemy, ekonomika, upravlenie trudom i proizvodstvom: Uchenye zapiski. Vypusk 14. Rostov–na–Donu: RGEU (RINKh), 2011. 165 c.
6. Chastikov A.P., Ledneva I.Yu. Nechetkie ekspertnye sistemy // Nauka Kubani, № 6, 2000. S. 58-63.
7. Polkovnikova N.A., Kureichik V.M. Razrabotka modeli ekspertnoi sistemy na osnove nechetkoi logiki // Izvestiya YuFU. Tekhnicheskie nauki, № 1 (150), 2014. S. 83-92.
8. Borisov V.V., Kruglov A.S., Fedulov A.S. Nechetkie modeli i seti.-2-e izd., stereotip. M.: Goryachaya liniya-Telekom, 2012. 284 s.
9. Dolzhenko A.I. Metodologiya analiza riskov pri proektirovanii informatsionnykh sistem s ispol'zovaniem nechetkikh setei // Vestnik Rostovskogo gosudarstvennogo ekonomicheskogo universiteta «RINKh», T. 24, № 2, 2007. S. 148–155.
10. Zade L.A. Ponyatie lingvisticheskoi peremennoi i ego primenenie k prinyatiyu priblizhennykh reshenii. M.: Mir, 1976. 168 s.
11. Khubaev G.N. Sravnenie slozhnykh programmnykh sistem po kriteriyu funktsional'noi polnoty // Programmnye produkty i sistemy (SOFTWARE&SYSTEMS), № 2, 1998. S. 7-9.
12. Programmnyi produkt «FuzzyTECH» // Inform Software. URL: http://www.fuzzytech.com/ (data obrashcheniya: 7.03.2017).
13. Programmnyi produkt «CubiCalc» // Hyper Logic. URL: http://www.tora-centre.ru/library/fuzzy/fuzi_i.htm (data obrashcheniya: 20.02.2017).
14. Programmnyi produkt «Fuzzy Logic Toolbox» // MatLab. URL: https://ch.mathworks.com/products/fuzzy-logic.html (data obrashcheniya: 3.03.2017).
15. Programmnyi produkt «FlexTool» // CynapSys. URL: http://cynapsys.com/page.cfm7CON-TENTS=include/contents.htm&BODY==products/flextool/flextool.htm (data obrashcheniya: 17.02.2017).
16. Programmnyi produkt «Scilab» // Scilab Enterprises. URL: http://www.scilab.org (data obrashcheniya: 25.02.2017).
17. Programmnyi produkt «Deductor» // BaseGroup Labs. URL: https://basegroup.ru/deductor/description (data obrashcheniya: 15.02.2017).
18. Programmnyi produkt «FisPro» // INRA Irstea. URL: https://www7.inra.fr/mia/M/fispro/fispro2013_en.html (data obrashcheniya: 1.03.2017)