DOI: 10.7256/2454-0714.2017.4.24251
Received:
22-09-2017
Published:
11-01-2018
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 – Схема требований к системе
На рисунке 2 приведено схематичное отображение вариантов использования (UseCases), которая охватывает функциональные требования процесса формирования нечеткой модели при построении экспертной системы.
Рисунок 2 – Схема вариантов использования требований к системе
Действующее лицо — Менеджер (ЛПР) задействует вариант использования (ВИ) «Формирование нечеткой модели» в процессе нечеткого моделирования для конкретной предметной области, который включает ВИ «Формирование лингвистических переменных» и «Формирование базы правил». Далее посылается сообщение на выполнение варианта использования (ВИ) «Задание цели нечеткого моделирования». Цель определяет необходимые входные лингвистические переменные (ЛП) и базу правил, которые должен сформировать Менеджер. База правил и база ЛП (рабочая область) определяют возможность выполнения ВИ «Инициировать нечеткий вывод», который вычисляет функцию принадлежности выходной лингвистической переменной, характеризующей цель проекта. Вариант использования «Выполнить обучение модели» выполняется по сигналу от Менеджера и использует ВИ «Инициировать нечеткий вывод» для корректировки параметров функций принадлежности нечеткой модели. Сравнительная количественная оценка программных средств по критерию функциональной полноты На рынке представлено большое разнообразие ПС предназначенных для реализации нечетких экспертных систем и решения задач нечеткого моделирования. Однако несмотря на актуальность решения задачи выбора программного продукта, которых удовлетворяет определенным требованиям, до сих пор не существует единой методики комплексной оценки программных средств. В данном исследовании для решения этой задачи был использован метод анализа сложных систем по критерию функциональной полноты проф. Г.Н. Хубаева [11].
Применив указанный метод в задаче выбора ПС реализации нечетких экспертных систем, также могут быть решены следующие подзадачи: выделить основные функции ПС; определить группы схожих ПС; ранжировать ПС по функциональной полноте; определить ПС, превосходящие другие; сопоставить сравниваемые ПС с требованиями требованиям «эталонной» модели.
Для реализации сравнительного анализа обозначим множество «систем–претендентов» как S = {Si}, где i = [1, n]. В таблице 1 представлены наименования анализируемых программных средств, среди которых присутствует гипотетическая система, подходящая под требования «эталонной» модели.
Таблица 1 – Перечень исследуемых ПС
Приведем краткое описание исследуемых информационных систем.
Программное средство 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 – Анализируемые функции ПС
Исходная информация будет представлена в виде матрицы X (таблица 3), элементы которой `||x_(ij)||` определяются по следующему принципу:
Таблица 3 – Элементы матрицы X
Абсолютная оценка функционального превосходства одного программного средства над другим характеризуется матрицей `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 – Матрица абсолютного функционального превосходства одного программного средства над другим
Относительная характеристика сопоставимости программных средств в части дублирующихся в них функций, т.е. степень поглощения системой Sk системы Si может быть осуществлена с помощью матрицы `H=||h_(ik)||`, где элементы матрицы вычисляются по следующей формуле:
Матрица `H=||h_(ik)||`, характеризующая относительную сопоставимость программных средств (таблица 5) в части дублирующихся в них функций.
Таблица 5 – Матрица, характеризующая относительную сопоставимость программных средств
Относительную характеристику взаимосвязи программных средств, основанную на объединенной их попарной функциональности, т.е. степень подобия систем Sk и Si, описывает матрица `G=||g_(ik)||` , где элементы матрицы gik представляют собой оценку подобия систем - меру подобия Жаккарда и вычисляются по следующей формуле:
Матрица `G=||g_(ik)||`, характеризующая относительную взаимосвязь программных средств (таблица 6).
Таблица 6 – Матрица относительной взаимосвязи программных средств
На основе матриц P, H и G строят логические матрицы превосходства `P_(0)=||p_(ik)^(0)||` , подобия `G_(0)=||g_(ik)^(0)||` и поглощения (включения) `H_(0)=||h_(ik)^(0)||` . Элементы матрицы Р0 вычисляются по следующей формуле:
матрицы H0 вычисляются по формуле:
а для матрицы G0 как:
Где `epsi_(p)` , `epsi_(g)` и `epsi_(h)` пороговые значения соответственно для матриц Р0, H0 и G0.
Логическая матрица превосходства для порогового значения `epsi_(p)` = 5 (таблица 7).
Таблица 7 – Логическая матрица превосходства для порогового значения `epsi_(p)` = 5
Логическая матрица подобия для порогового значения `epsi_(g)` = 0,6 (таблица 8).
Таблица 8 – Логическая матрица подобия для порогового значения `epsi_(g)` = 0,6
Логическая матрица поглощения функциональности информационных систем для уровня `epsi_(h)` = 0,8 (таблица 9).
Таблица 9 – Логическая матрица поглощения функциональности информационных систем для уровня `epsi_(h)` = 0,8
На основе логических матриц превосходства, подобия и поглощения (включения) строят графы превосходства (рисунок 3), подобия (рисунок 4) и поглощения (рисунок 5) ИС.
Рисунок 3 - Граф превосходства информационных систем при `epsi_(p)` = 5
Рисунок 4 - Граф подобия информационных систем при `epsi_(g)` = 0,6
Рисунок 5 - Граф поглощения информационных систем при `epsi_(h)` = 0,8
Построенные матрицы и графы позволяют сделать следующие выводы: система S8 превосходит практически все системы; системы S1, S4, S5 и S6 имеют схожие функции, а связь S8 только с S1 объяснимо наличием уникальных функций формирования нечеткой модели; системы S1 и S8 поглощают многих, а у систем S3, S5 и S6 присутствует взаимное поглощение. Заключение Исследование показало, что большинство из приведенных программных систем ориентированы на реализацию нечетких экспертных систем, при этом параметры функций принадлежности и нечеткие продукционные правила должны быть заданы экспертом предметной области. Приведенные системы во многом не отвечают функциональным требованиям «эталонной» модели, так функции генерации базы нечетких правил и корректировку формы функций принадлежности нечеткой модели с использованием генетических алгоритмов поддерживаются только одной системой. Поэтому, разработка новых и эффективных программных средств реализации нечетких экспертных систем, которые позволят получить как качественные, так и количественные оценки и выполнить корректировку элементов модели различными методами - актуальная задача.
Анализ также позволилопределить программные средства со схожим набором функций, оценить степень подобия и степень соответствия рассматриваемых систем «эталонной» модели информационной системы, учитывающей требования пользователя.
На следующем этапе анализа следует сравнить цены на ПС и сопоставить нефункциональные характеристики (например, требуемые технические средства и операционная система; удобство пользовательского интерфейса; сложность работы с системой; надежность, отказоустойчивость и т.п.), что позволит сделать оптимальный выбор.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 16-31-00285 мол_а «Методы и модели нечеткой логики в системах принятия решений управления рисками».
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)
|