А.Н. Исайнова, А.А. Шарипбаев
Реализация сетевой системы управления рисками
(Евразийский национальный университет им. Л.Н.Гумилева, г.Астана)
Создание сетевой системы управления рисками является актуальной идеей в программировании. Так как она позволяют упростить работу, автоматизировать механизм анализа экспертных данных и вывода соответствующих им результатов. В данной работе были использованы теоретические основы нечеткой логики. Само понятие нечеткой логики позволяет определить дальнейший вектор развития современной алгебры нечетких множеств, а использование подобных экспертных систем позволить только расширить кругозор науки, помочь выявить новые методики и тенденции в мире алгебры нечеткой логики. Преимуществом использования этой теории является возможность принятия решений в условиях неточной информации.
Весь процесс реализации был поделен на несколько независимых модулей и частей:
1) Определение сущностей.
2) Реализация модуля "Риски".
3) Реализация модуля "Единицы измерения".
4) Реализация модуля "Процедуры".
5) Реализация модуля "Лингвистические переменные".
6) Реализация модуля "Термы".
7) Реализация модуля "Правила".
8) Реализация модуля "Вывод".
1 Определение сущностей
Определение сущностей является основополагающим этапом разработки любой информационной системы. На данном этапе разработчик определяет, с какими сущностями в дальнейшем будет работать приложение. К примеру, в системе учета финансов сущностями могут быть: средства, валюта, операция и т.п. Сущности в нашем случае перечислены ниже.
Риск. Структура представлена в таблице 1.
Таблица 1- Структура сущности Риск
Поле Тип данных Тип в языке программирования
Наименование Строковый String
Описание Строковый String
Единица измерения. Структура представлена в таблице 2.
Таблица 2- Структура сущности Единица измерения
Поле Тип данных Тип в языке программирования
Наименование Строковый String
Описание Строковый String
Процедура. Структура представлена в таблице 3.
Таблица 3- Структура сущности Процедура
Поле Тип данных Тип в языке программирования
Наименование Строковый String
Описание Строковый String
Таблица 4- Структура сущности Лингвистическая переменная
Поле Тип данных Тип в языке программирования
Наименование Строковый String
Описание Строковый String
Минимальное значение Число с плавающей точкой Float Максимальное значение Число с плавающей точкой Float
Таблица 5- Структура сущности Терм
Поле Тип данных Тип в языке программирования
Наименование Строковый String
Описание Строковый String
Функция принадлежности Строковый String
Лингвистическая переменная. Структура представлена в таблице 4.
Терм. Структура представлена в таблице 5.
2 Реализация модуля «Риски»
Модуль в программировании представляет собой функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной его части (например, Active Oberon), предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобную для многократного использования функциональность (интерфейс) в виде набора функций, классов, констант. Модули могут объединяться в пакеты и, далее, в библиотеки.
Модули могут быть обычными, т. е. написанными на том же языке, что и основная программа, в которой они используются, либо модулями расширения, которые пишутся на отличном от языка основной программы языке. Модули расширения обычно пишутся на более низкоуровневом языке, что позволяет получить выигрыш в скорости выполнения (производительности) программы.
Модуль "Риски"представляет собой подсистему управления сущностями типа "Риск".
Возможности:
Создание, изменение, удаление.
Сортировка.
Фильтрация.
Внешний вид модуля представлен на рисунках 1 и 2.
Внешний вид модуля "Риски"
Рисунок 1
Редактирование риска
рисунок 2
3 Реализация модуля «Единицы измерения»
В физике и технике единицы измерения (единицы физических величин, единицы величин) используются для стандартизованного представления результатов измерений.
Численное значение физической величины представляется как отношение измеренного значения к некоторому стандартному значению, которое и является единицей измерения. Число с указанием единицы измерения называется именованным.
Различают базовые единицы измерения, которые определяются с помощью эталонов, и производные единицы, определяемые с помощью базовых. Выбор величины и количества базовых единиц измерения может быть произвольным и определяется только традициями или соглашениями. Существует большое количество различных систем единиц измерения, которые различаются выбором базовых единиц измерения.
Модуль "Единицы измерения"представляет собой подсистему управления сущностями типа "Единица измерения". Возможности:
Создание, изменение, удаление.
Сортировка.
Фильтрация.
Внешний вид модуля представлен на рисунке 3.
Внешний вид модуля "Единицы измерения"
рисунок 3
4 Реализация модуля «Процедуры»
Процессы, связанные с идентификацией, анализом рисков и принятием решений, которые включают максимизацию положительных и минимизацию отрицательных последствий наступления рисковых событий. Процесс управления рисками проекта обычно включает выполнение следующих процедур.
Модуль "Процедуры"представляет собой подсистему управления сущностями типа
"Процедура". Возможности:
Создание, изменение, удаление.
Сортировка.
Фильтрация.
Все эти процедуры взаимодействуют друг с другом, а также с другими процедурами.
Каждая процедура выполняется, по крайней мере, один раз в каждом проекте. Несмотря на то, что мы рассматриваем здесь представленные как дискретные элементы с четко определенными характеристиками, на практике они могут частично совпадать и взаимодействовать.
Внешний вид модуля представлен на рисунке 4.
Внешний вид модуля "Процедуры"
рисунок 4
5 Реализация модуля «Лингвистические переменные»
Лингвистическая переменная - в теории нечетких множеств, переменная, которая может принимать значения фраз из естественного или искусственного языка.
Например, лингвистическая переменная "скорость"может иметь значения "высокая",
"средняя", "очень низкая"и т.д. Фразы, значение которых принимает переменная в свою очередь являются именами нечетких переменных и описываются нечетким множеством.
Модуль "Лингвистические переменные"представляет собой подсистему управления сущностями типа "Лингвистическая переменная". Возможности:
Создание, изменение, удаление.
Сортировка.
Фильтрация.
рисунок 5
Лингвистическая переменная отличается от числовой переменной тем, что ее значениями являются не числа, а слова или предложения в естественном или формальном языке.
Поскольку слова в общем менее точны, чем числа, понятие лингвистической переменной дает возможность приближенно описывать явления, которые настолько сложны, что не поддаются описанию в общепринятых количественных терминах.
Внешний вид модуля представлен на рисунке 5.
Внешний вид модуля "Лингвистические переменные"
6 Реализация модуля «Термы»
Терм - выражение формального языка (системы), является формальным именем объекта или именем формы. Понятие терма определяется индуктивно. Термом называется символьное выражение: t(X1, X2, . . . , Xn), где t - имя терма, называемая функтор или "функциональная буква", а X1, X2, . . . , Xn - термы, структурированные или простейшие.
Модуль "Термы"представляет собой подсистему управления сущностями типа "Терм".
Возможности:
Создание, изменение, удаление.
Сортировка.
Фильтрация.
Просмотр графиков термов.
В логике первого и второго порядков терм определяется рекурсивно следующим образом:
всякая индивидная константа есть терм;
всякая свободная переменная есть терм;
термами являются только те выражения, которые получены согласно п.п. 1-2 Внешний вид модуля представлен на рисунке 6.
Внешний вид модуля "Термы"
рисунок 6
7 Реализация модуля «Правила»
Правило - комплексная структура, которая включает в себя все необходимые для данного правила данные: входные термы, их значения и выходные термы.
Модуль "Правила"представляет собой подсистему управления сущностями типа
"Правила".
Возможности:
Создание, изменение, удаление.
Сортировка.
Фильтрация.
Просмотр графиков термов и лингвистических переменных.
Интерфейс для модуля был разработан так, чтобы максимально упростить нелегкую задачу создания правил для лингвистических переменных. При этом учитывались особенности восприятия нескольких интерфейсных моделей (Касабланка, Визарда и других). В результате чего был выбран самый оптимальный вариант.
Внешний вид модуля представлен на рисунке 7.
Внешний вид модуля "Правила"
рисунок 7
8 Реализация модуля «Вывод»
Модуль "Вывод"представляет собой подсистему реализации вывода Мамдани.
Элементы теории нечетких множеств, правила импликации и нечетких рассуждений образуют систему нечеткого вывода. В ней можно выделить:
множество используемых нечетких правил;
базу данных, содержащую описания функций принадлежности;
механизм вывода и агрегирования, который формируется применяемыми правилами импликации.
Для обеспечения взаимодействия этих двух видов вводится нечеткая система с так называемым фазификатором (преобразователем множеств входных данных в нечеткое множество) на входе и дефазификатором (преобразователем нечетких множеств в конкретное значение выходной переменной) на выходе. В случае технической реализации в качестве входных и выходных сигналов выступают измеряемые величины, однозначно сопоставляющие входным значениям соответствующие выходные значения.
Внешний вид модуля представлен на рисунке 8.
Внешний вид модуля "Вывод Мамдани"
рисунок 8
Использование средств PHP/Debian по созданию приложений работающих в операционных системах семейства Windows, Unix и Linux позволило создать программный продукт максимально ориентированный на конечного пользователя, который не искушен в вопросах теории нечеткой логики. Процесс проектирования был детально описан в составленной к программному продукту документации.
Разработанное приложение является новым словом в автоматизированном управлении решениями человека, так как оно освобождает человека от принятия решений, на основе запрограммированного экспертно-аналитического вывода.
СПИСОК ЛИТЕРАТУРЫ
1. Zadeh L., Bellman R. Decision-making in a fuzzy environment.- Management Science, 1970. №4.
- 24 p.
2. Zimmerman H.-J. Fuzzy Set Theory and its Applications. - Dordrecht: Kluwer Academic Publishers, 1996. - 315 p.
3. Алтунин А.Е., Семухин М.В. Модели и алгоритмы принятия решений в нечетких условиях.
- Тюмень: ТГУ, 2000. - 352 с.
4. Богатин Ю.В. Инвестиционный анализ: Учебное пособие для вузов. - М.: ЮНИТИ-ДАНА, 2000. - 87 с.
5. Борисов А.Н., Крумберг О.А., Федоров И.П. Принятие решений на основе нечетких моделей:
примеры использования. - Рига: Зинатне. 1990. - 184 с.
6. Волков И.М., Грачева М.В. Проектный анализ. М.: ЮНИТИ, 1998. - 423 с.
Исайнова А.Н., Шарипбаев А.Ә.
Тәуекелдi басқарудағы желiлiк жүйенiң жүзеге асуы
Әзiрленген қолданба адамдардың шешiмдерiн автоматты басқарудағы жаңа сөз болып табылады, өйткенi ол эксперттi-аналитикалық шешiмнiң негiзiмен программаланғандықтан адамды шешiм қабылдаудан босатады.
Issainova A. N., Sharipbaev A.A.
Realization of the network control system by risks
The developed application is a new word in automated management by decisions of the person as it releases the person from decision-making, on the basis of the programmed ekspertno-analytical conclusion.
Поступила в редакцию 15.10.10 Рекомендована к печати 30.10.10