Научная статья на тему 'Разработка приложений нечеткой логики в системе Mathematica'

Разработка приложений нечеткой логики в системе Mathematica Текст научной статьи по специальности «Экономика и бизнес»

CC BY
266
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
НЕЧЕТКАЯ ЛОГИКА / ПРИЛОЖЕНИЕ / СИСТЕМА КОМПЬЮТЕРНОЙ МАТЕМАТИКИ / БАНКРОТСТВО ФИРМЫ

Аннотация научной статьи по экономике и бизнесу, автор научной работы — Семененко Марина Геннадиевна

В настоящей работе рассматривается разработка приложений для вычислений на основе нечеткой логики в системе Mathematica на примере программы для приближенной оценки вероятности банкротства фирмы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка приложений нечеткой логики в системе Mathematica»

Семененко М.Г.

Калужский филиал МГТУ им. Н.Э. Баумана, доцент, msemenenko@mail.ru

Разработка приложений нечеткой логики в системе

Mathematica

КЛЮЧЕВЫЕ СЛОВА:

Нечеткая логика, приложение, система компьютерной математики, банкротство фирмы.

АННОТАЦИЯ:

В настоящей работе рассматривается разработка приложений для вычислений на основе нечеткой логики в системе Mathematica на примере программы для приближенной оценки вероятности банкротства фирмы.

Введение

В настоящее время существуют различные подходы к оценке рисков. Одним из естественных приложений в данной области, по нашему мнению, является формализм нечеткой логики (Fuzzy Logic), определяющий современный подход к описанию бизнес-процессов, в которых присутствуют неопределенность и/или неточность исходной информации [1]. Процесс принятия решений в этом случае имеет многоаспектный и чрезвычайно сложный характер и требует применения современного программного обеспечения (ПО).

Подобное ПО сейчас часто является частью современных систем вычислительной математики. Например, в системах Matlab и Mathematica есть подсистема Fuzzu Logic. Однако использование подобных подсистем имеет существенные недостатки. В частности, эти продукты достаточно дороги и должны приобретаться с основной программой, что существенно увеличивает конечную стоимость. Кроме того, круг решаемых задач существенно ограничен стандартными случаями (как правило, это алгоритмы Мамдани и Сугено).

В то же время можно эффективно решать задачи нечеткой логики самостоятельным написанием программ, например в Mathcad [1, 2] или (как в данной работе) в системе Mathematica. Удобство последнего пакета заключается также в том, что корпорация Wolfram предоставляет пользователю бесплатный и легальный инструмент - CDF-плеер. Таким образом, сам программный продукт можно установить только на ПК разработчика программного кода, а остальные участники проекта (экономисты, математики и т.п.) могут наблюдать результаты вычислений в CDF-плеере.

В данной работе рассмотрен пример разработки программы на основе нечеткой логики для приближенной оценки вероятности банкротства

фирмы [2].

Описание лингвистических переменных

Следуя [2], будем считать, что нечеткая переменная g принимает значения в интервале [0, 1] и имеет терм-множество значений {«Предельный риск банкротства», «Риск банкротства высокий», «Риск банкротства средний», «Риск банкротства низкий», «Риск банкротства незначителен»}.

Риск банкротства определяется следующими показателями (нечеткими переменными): Xi - коэффициент автономии (отношение собственного капитала к валюте баланса); X2 - коэффициент обеспеченности оборотных активов собственными средствами (отношение чистого оборотного капитала к оборотным активам); Хз - коэффициент промежуточной ликвидности (отношение суммы денежных средств и дебиторской задолженности к краткосрочным пассивам); Х4 - коэффициент абсолютной ликвидности (отношение суммы денежных средств к краткосрочным пассивам); Х5 - оборачиваемость всех активов в годовом исчислении (отношение выручки от реализации к средней за период стоимости активов); Хб - рентабельность всего капитала (отношение чистой прибыли к средней за период стоимости активов). Для простоты все шесть показателей считались равнозначными с уровнем значимости 1/6.

Для всех переменных мы использовали трапециевидные функции принадлежности, параметры которых приведены в [2]. Функции принадлежности переменной Xi показаны на рис. 1.

trap[x_, а_, Ь_, с_, с2_] : =

If[aixii, (х - а) ! (Ъ - а) , If [Jb S х i с, 1, If [cS x i d, (d - x) / (d - c) , 0] ] ] ;

TrVeryLowXl[x ] :=trap[x, 0, 0, 0.1, 0.2]; TrLowXl [x_] :=trap[x, 0.1, 0.2, 0.25, 0.3];

TrMidXl[x_] := trap[x, 0.25, 0.3, 0.45, 0.5] ;

TrHighXl [x_] : = trap [x, 0.45, 0.5, 0.6, 0.7] ; TrVeryHighXl [x_] :=trap[x, 0.6, 0.7, 1, 1] ;

Plot [{ TrVeryLowXl [x] , TrLowXl [x] , TrMidXl[x], TrHighXl [x] , TrVeryHighXl [x]}, {x, 0, 1}, PlotLegendsSwatchLegend ["Expressions"] , PlotRange-> {0, 1}]

Рис.1. Пример задания трапециевидных функций принадлежности

В самом простом варианте программа состоит из однотипных блоков для каждой переменной.

Описание алгоритма Задаем начальные значения переменных (массив со11Х) и вычисляем уровни принадлежности А нечетким подмножествам из терм-множества

■ TrVeryLowXl (х)

. TrLowXl (х) . TrMidXl (х) . TrHighXl (х)

« TrVeryHighXl(х)

значений переменной g (рис. 2).

Затем вычисляем степень риска банкротства:

1 6 6

g=т Z gj Z ^ j, где д, = 0,9 - 0,2, - 1) .

0 j=i /=i

cell*. {0.619, 0.294, 0.Ш, 0.112, 2.876, 0-113)

CluiUl ■ {TrVeiylrfjvXl [cclIX[ [1] ]}, TiLswXl [flollJtt [1] ] J, TiWidXI [«11Z[ [1] ] ], Mi9Ml[oollI[(l] TrViryHighll[öflllX((1]]]};

ClaiiIX2 = {TtVeijliovXl [collü[ [2] ]), TiLovX2 [colli [ [2] ] ] r TrbIidX2 icolllt[ [2] ] ] r TrHighX2[collX[ [2] TrVetyHighXS[collX [ [2] J] J;

Clutffl. iTrVeryLowXa [collX [ [3] ] J r Тх!яуХЭ [cp11X[ [3] ] J r TrWidX3(cell*[ [3] ] ], TrHi5hX3 [отЗIX[ [3] TrVeryHighI3[еоШ([3]]J};

ClaiilXi = {Ti:Vei¥liOvX4[collü[[4]])r TiLavXi [collK[ [4] ]) r TrKidXi(collX[ [4] ] ] r TrHighXi [oollX [ ¡4] TrVetyHi3h*4[cillX[[4]l]J;

ClassIXS. {!МГк1ЪмЛ5[мШ[Е5]]], TtLowKS[collX[ [S] ] 1 r TrMidX5(collX[ [5] ] ] r TrHighXS[collKt |S] TrVeryüighI5[oollI[[5])J};

ClasalXfi ■ (TtVeiyLovXfi [collJt[ [ß] ]), TiLawX6(collX[ [6] ] J r MiidXfi (collX [ [6] ] ] r TrHighXi[colli[ [6) TrVetyHighXG(collX [ [6]] ]};

Air; > (Olflllll, CLusEQ, ClassIXJ. ClassTXi, ClassIXS, CUUOtf}; Тм1еГогг.[ЛГп]

{0,613, 0,294, 0.67, 0-112, 2-316, 0,113}

0 0 0 0,31 0.19

0 0 10 0

0 10 0 0

0 0 10 0

0 0 0 0 1

0 0 0 1 0

Рис. 2. Таблица классификации уровней показателя

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

Аналогично вычисляется таблица классификации уровней показателя для конечных значений переменных. Результаты вычислений (таблица классификации уровней показателя) показаны на рис.3. Там же вычислены значения показателя g для начальных и конечных значений переменных (соответственно, 0.394 и 0.483). Таким образом, в течение исследуемого периода риск банкротства фирмы увеличился. Анализ результатов

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

TableForm[AF]

0 0 0 1 0

0 0 1 0 0

0 1 0 0 0

0 1 0 0 0

0 0 0 0 1

0 0.5 0.5 0 0

e . 1/6. ; g = Table [0.9-0.2* (j - 1) , {j, S}]

5 6

Gin = r£g[[3]l j]]

j.l 1-1

5 6

GF ■ rEeI[jn EAF[[i-3]I

j-i i-i

{0-9, 0,7, 0,5, 0,3, 0,1} 0. 393667 0. 483333

Рис. 3. Результаты вычисления риска банкротства фирмы

С этой точки зрения применение пакета прикладных программ Mathematica имеет следующие преимущества:

• язык программирования близок к естественному и текст программы понятен неспециалисту в области программирования;

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

Дополнительные возможности работы с проектом дает использование элементов объектно-ориентированного программирования и создание windows-приложений с использованием опции Manipulate. С примерами подобных разработок можно ознакомиться на сайте [3].

Литература

1. Семененко М.Г., Лесина Т.В. Оценка эффективности инвестиционных проектов на основе формализма нечеткой логики// Финансовая аналитика: проблемы и решения, т. 29, 2011. С. 63-68.

2. Недосекин А.О. Методологические основы моделирования финансовой деятельности с использованием нечетко-множественных описаний: дисс... докт. экон. наук. Н СПб. 2003. Н С. 61-69.

3. Сайт корпорации Wolfram, Inc. URL: http://demonstrations.wolfram.com/ (дата обращения: 08.10.2013).

i Надоели баннеры? Вы всегда можете отключить рекламу.