А.Н. Исайнова, А.А. Шарипбаев
Реализация экспертной оценки инвестиционных проектов на основе нечеткой логики
(Евразийский Национальный университет им. Л.Н. Гумилева )
Данный подход предполагает использование знаний экспертов об объекте управления, представляемых в виде пра- вил, выраженных на естественном языке. Главным этапом является обратное преобразование управления, полученного в виде нечеткого множества, в реальное значение выхода регулятора. Базовыми типами такого рода регуляторов являются контроллеры Мамдани и Сугено.Перспективность использования данного метода определяется такими факторами, как достаточная простота настройки на объект управления, возможность учесть различные недетерминированные возмуще- ния и параметры объекта, использовать для описания технологических и управленческих целей.
В качестве наглядного примера применения теории нечеткой логики в расчете рисков ин- вестиционных проектов я взяла такую тему как "Расчет риска вложений в нефтяную промыш- ленность".
В данной теме я выбрала две переменные для входа-("год", в пределах от 1990 до 2010, и
"цена нефти"от 50 до 150 ) и одну итоговую переменную для выхода, т.е. результат ("риск", в пределах от 0 до 1). В программе можно будет также добавлять, и удалять новые переменные и задавать их допустимые значения (рисунок 1).
Создание лингвистических переменных
Рисунок 1
Этап 1 - Построение графиков функций принадлежностей
Рассмотрим лингвистическую переменную с именем х= "инвестиционное положение в данном году". Тогда оставшуюся четверку (T,U,G,M) можно определить так:
- универсальное множество - U=[1990;2010];
- терм множество - T={"плохая обстановка для инвестиций", "стабильная", "отличная"}с такими функциями принадлежностями (u Ї U):
мnплохая обстановка(и)= 1
(1 +u−19905 )4 (1)
мcстабильная обстановка(и)= 1
(1 + u−20005 )6 (2)
мотличная обстановка(и)= 1
(1 +u−20105 )4 (3)
- синтаксические правила G, порождающее новые термы с использованием квантификаторов
"не", "очень"и "более-менее"; - семантические правила M, в виде таблицы 1.
Таблица 1-Правила расчета функций принадлежности
Квантификатор Функция принадлежности (u ∈/ Ї U)
не 1-мt(u)
очень (мt(u))2
более-менее p
мt(u)
На рисунке 2 отображен рабочий интерфейс для управления функциями принадлежности термов, Интерфейс был продуман так, чтобы дать пользователю максимальную функционль- ность при минимизции пользователького интерфейса. На графике изображена таблица, состоя- щая из полей: - Имя терма. - Функция принадлежности. Функция принадлежности представля- ет собой строковое представление математической формулы: которое в процессе фаззификации расознается программой и применяется в обработке данных (рисунок 15).
Функции принадлежности термов
Рисунок 2
Графики функций принадлежности термов «не стабильно», «стабильно»и «идеаль- но»лингвистической переменной «инвестиционный год»показаны на рисунке 3.
Как видим согласно графику (рисунок 3) высшая точка терма «не стабильно»в 1990 году,
«стабильно»в 2000 году, «идеально»в 2010 году.
Лингвистическая переменная «инвестиционное положение в данном году»
Рисунок 3
Аналогично и с переменной цена на нефть также рассчитываются функции принадлежно- сти (рисунок 4) и составляются графики (рисунок 5).
Функции принадлежности для переменной «Цена на нефть»
Рисунок 4
Графики функций принадлежности
Рисунок 5
Этап 2 - Нечеткие логические операции
Вначале кратко вспомним основные положения обычной (булевой) логики. Рассмотрим два утверждения A и B, каждое из которых может быть истинным или ложным, т.е. принимать значения "1"или "0". Для этих двух утверждений всего существует 222 = 16 различных логи- ческих операций, из которых содержательно интерпретируются лишь пять: И (∧), ИЛИ (∨), исключающее ИЛИ (⊕), импликация (⇒) и эквивалентность (⇔). Таблицы истинности для этих операций приведены в таблице 2 [1,2].
Таблица 2- Таблицы истинности булевой логики
A B A∧B A∨B A⊕B A ⇒ B A⇔ B
0 0 0 0 0 1 1
0 1 0 1 1 1 0
1 0 0 1 1 0 0
1 1 1 1 0 1 1
Предположим, что логическое утверждение может принимать не два значения истинности, а три, например: «истинно », «ложно »и «неопределенно ». В этом случае мы будем иметь дело не с двухзначной, а трехзначной логикой. Общее количество бинарных операций, а, следова- тельно, и таблиц истинности, в трехзначной логике равно332 = 729. Нечеткая логика является разновидностью многозначной логики, в которой значения истинности задаются лингвистиче- скими переменными или термами лингвистической переменной «истинность ». Правила выпол- нения нечетких логических операций получают из булевых логических операций с помощью принципа обобщения.
Определение. Обозначим нечеткие логические переменные через A и B , а функции при- надлежности, задающие истинностные значения этих переменных черезµA и µB, u ∈ [0,1].
Нечеткие логические операции И, ИЛИ, НЕ и импликация выполняются по таким правилам:
µA∩b Ab(u) =min(µ
Ab(u), µ
Bb(u)) (4)
µA∪
Ab(u) =max(µ
Ab(u), µ
Bb(u)) (5)
µA∩A(u) =min(µA(u), µB(u)) (6)
µA⇒
Ab(u) =max(1−µ
Ab(u), µ
Bb(u)) (7)
В многозначной логике логические операции могут быть заданы таблицами истинности. В нечеткой логике количество возможных значений истинности может быть бесконечным, следо- вательно, в общем виде табличное представление логических операций невозможно. Однако, в табличной форме можно представить нечеткие логические операции для ограниченного коли- чества истинностных значений, например, для терм-множества {"истинно", "очень истинно",
"не истинно", "более-менее ложно", "ложно"}. Для трехзначной логики с нечеткими значе- ниями истинности T - "истинно", F - "ложно"и T+F - "неизвестно"Л.Заде предложил такие лингвистические таблицы истинности (таблица 3):
Таблица 3 - Таблица истинности Заде
Ae Be A Ae∧Be Ae∨Be
T T F T T
T F F F T
T T+F F T+F T
F T T F T
F F T F F
F T+F T F T+F
T+F T T+F T+F T
T+F F T+F F T+F
T+F T+F T+F T+F T+F
Применяя правила выполнения нечетких логических операций из определения можно рас- ширить таблицы истинности для большего количества термов (таблица 4).
Зависимости токовых погрешностей ТТ от коэффициента токовой загрузки и класса точности
Таблица 4 - Таблица истинности для инвестиций
Год (A)e Цена на нефть (Be Ae∧Be Ae∨B)e Сер 2000-2010 (T) Высокая (T) T (хор год для инвестиций) T Сер 2000-2010 (T) Низкая (F) F (плохой год для инвестиций) T Сер 2000-2010 (T) Средняя (T+F) T+F(стабильный инвест год) T
Начало 90-х(F) Высокая (T) F T
Начало 90-х (T) Высокая (T) F T
Начало 90-х(T) Низкая (F) F F
Начало 90-х (T) Средняя (T+F) T+F T+F
Сер 90-х-н 2000-х Высокая (T) T+F T
Сер 90-х-н 2000-х Низкая (F) F T+F
Сер 90-х-н 2000-х Средняя (T+F) T+F T+F
Этап 3 - Составление нечеткой базы знаний
Нечеткой базой знаний называется совокупность нечетких правил "Если - то", определя- ющих взаимосвязь между входами и выходами исследуемого объекта. Обобщенный формат нечетких правил такой:
Если <посылка правила>, то <заключение правила>.
Таблица 5-Нечеткая база знаний
X Y
1990-1995 Высокий риск
1995-2005 Умеренный риск
2005-2010 Низкий риск
Посылка правила или антецедент представляет собой утверждение типа "x есть низкий", где "низкий это терм (лингвистическое значение), заданный нечетким множеством на универ- сальном множестве лингвистической переменной x. Квантификаторы "очень", "более-менее",
"не", "почти"и т.п. могут использоваться для модификации термов антецедента.
Следующая нечеткая база знаний описывает зависимость между годом (x) и инвестицион- ным риском (y):
Если x= 90−, тоy=.Если x= 2000−, тоy=.Если x= 2010−, тоy=.Для задания мно- гомерных зависимостей "входы-выходы"используют нечеткие логические операции И и ИЛИ.
Удобно правила формулировать так, чтобы внутри каждого правил переменные объединялись логической операцией И, а правила в базе знаний связывались операцией ИЛИ: [3,4]
ЕСЛИ(x1 =a1,j1) (x2=a2,j1 . . . (xn=an,j1) ИЛИ(x1=a1,j1) (x2=a2,j2 . . . (xn=an,j2) . . . .
ИЛИ(x1=a1,jkj) (x2=a2,jkj . . . (xn=an,jkj), ТОy =dj, j= 1, m,
где ai,jp - нечеткий терм, которым оценивается переменная xi в строчке с номером jp ( p= 1, m);
kj - количество строчек-конъюнкций, в которых выход Y оценивается значений dj ; m- количество различных значений, используемых для оценки выходной переменной Y.
Приведенную выше базу знаний удобно представлять таблицей, которую иногда называют матрицей знаний (таблица 5).
Для учета различной степени уверенности эксперта в адекватности правил используют весовые коэффициенты. Нечеткую базу знаний из таблицы 6 с весовыми коэффициентами правил можно записать следующим образом:
Skj
p=1(Tn
i=1xi =ai,jpс весом wjp)→y=dj, гдеS
- нечеткая логическая операция ИЛИ, T- нечеткая логическая операция И,
wjp ∈[0,1]- весовой коэффициент правила с номером jp.
Этап 4 - Нечеткий логический вывод Мамдани
Нечеткий логический вывод по алгоритму Мамдани выполняется по нечеткой базе знаний [5,6]:
kj
[
p=1
(
n
\
i=1
xi =ai,jpс весомwjp)→y=dj
,
в которой значения входных и выходной переменной заданы нечеткими множествами. Вве- дем следующие обозначения, необходимые для дальнейшего изложения материала:
µjp(xi) - функция принадлежности входаxi нечеткому термуai,jp, т.е.
ai,jp= Z xi
xi
µjp(xi)/xi, xi ∈[xixi]
µdj(y) - функция принадлежности выхода y нечеткому термуdj, т.е.
dj = Z y
yi
µjp(y)/yi, yi ∈[yiyi].
Степени принадлежности входного вектора x∗ = (x1∗, x2∗, . . . xn∗) нечетким термам dj из базы знаний рассчитывается следующим образом:
µdj(x∗) =
kj
[
p=1
wjp·
n
\
i=1
[µjp(x∗i)], j = 1, m,
где S (T
) - операция из s-нормы (t-нормы), т.е. из множества реализаций логической опе- раций ИЛИ (И). Наиболее часто используются следующие реализации: для операции ИЛИ - нахождение максимума и для операции И - нахождение минимума.
В результате получаем такое нечеткое множествоye, соответствующее входному векторуX∗:
ey= µd1(x∗)
d1 +µd2(x∗)
d2 +. . .+µdm(x∗) dm .
Особенностью этого нечеткого множества является то, что универсальным множеством для него является терм-множество выходной переменнойy.Такие нечеткие множества называются нечеткими множествами второго порядка.
Для перехода от нечеткого множества, заданного на универсальном множестве нечетких термов {d1, d2, . . . , dm} к нечеткому множеству на интервале |y,y|e необходимо: 1) "сре- зать"функции принадлежности на уровне µdj(x∗); 2) объединить (агрегировать) полученные нечеткие множества. Математически это записывается следующим образом:
ye=aggj=1,m( Z y
y
min(µdj(x∗), µdj(y))/y),
где agg - агрегирование нечетких множеств, которое наиболее часто реализуется операцией нахождения максимума.
Четкое значение выхода y, соответствующее входному вектору X∗ определяется в резуль- тате дефаззификации нечеткого множества y. Наиболее часто применяется дефаззификация по методу центра тяжести:
y= Ry
y y·µydy µydy
, где R
- здесь символ интеграла.
По нечеткой базе знаний выполнить нечеткий логический вывод при значениях входной переменной x= 1998.
Выполнение нечеткого логического вывода при значениях входной переменной x = 1998и показано на рис. Операция агрегирования осуществлялась нахождением максимума. Дефаззи- фикация проводилась по методу центра тяжести.
Схематически и программно вывод Мамдани показан на рисунках 6 и 7 [7]:
Нечеткий логистический вывод Мамдани
Рисунок 6
Нечеткий логистический вывод Мамдани в программе
Рисунок 7
Нечеткий логический вывод Сугено
Нечеткий логический вывод по алгоритму Сугено (иногда говорят алгоритм Такаги- Сугено) выполняется по нечеткой базе знаний [8]:
kj
[
p=1
(
n
\
i=1
xi =ai,jpс весом wjp)→y=bj,0+bj,1·x1+bj,2·x2+·+bj,n. . . xn, j = 1, m,
где bj,i - некоторые числа.
База знаний Сугено аналогична базе знаний Мамдани за исключением заключений правил dj, которые задаются не нечеткими термами, а линейной функцией от входов : dj = bj,0 + P
i=1,nbj,i ·xi. Правила в базе знаний Сугено являются своего рода переклю- чателями с одного линейного закона "входы - выход"на другой, тоже линейный. Границы подобластей размытые, следовательно, одновременно могут выполняться несколько ли- нейных законов, но с различными степенями. Степени принадлежности входного вектора X∗= (x1∗, x∗2, . . . , x∗n)к значениямdj =bj,0+P
i=1,nbj,i·xiрассчитывается следующим образом:
µdj(x∗) =
kj
[
p=1
wjp·
n
\
i=1
[µjp(x∗)], j = 1, m,
гдеS (T
)- операция из s-нормы (t-нормы), т.е. из множества реализаций логической опера- ций ИЛИ (И).
В результате получаем такое нечеткое множествоy, соответствующее входному векторуe x∗:
ey= µd1(x∗) d1
+µd2(x∗) d2
+. . .+µdm(x∗) dm
.
Обратим внимание, что в отличие от результата вывода Мамдани, приведенное выше нечеткое множество является обычным нечетким множеством первого порядка. В то время как в результатах вывода Мамдани порядок в принципе может варьироваться в некоторых досягаемых пределах, что увеличивает вероятность точности вычислений, и, соответственно, уменьшает предельно допустимую погрешность. Оно задано на множестве четких чисел.
Результирующее значение выхода Y определяется как суперпозиция линейных зависимостей, выполняемых в данной точке n-мерного факторного пространства. Для этого дефаззифици- руют нечеткое множество ye, находя взвешенное среднее y =
P
j=1,mµdj(x∗)·dj
µdj(x∗) или взвешенную сумму . Таблицу истинности Сугено можно посмотреть по таблице:
Таблица 6 Таблица истинности для нечеткого логического вывода Сугено
Год Цена Результат
1990-1995 50-75 1990x1+ 50x2=1 1995x1+ 75x2=0 1995-2005 50-75 1995x1+ 50x2=1 2005x1+ 75x2=0 2005-2010 50-75 2005x1+ 50x2=1 2010x1+ 75x2=0 1990-1995 75-125 1990x1+ 75x2=1 1995x1+ 125x2=0 1995-2005 75-125 1995x1+ 75x2=1
2005x1+ 125x2=0 2005-2010 75-125 2005x1+ 75x2=1
2010x1+ 125x2=0 1990-1995 125-150 1990x1+ 125x2=1 1995x1+ 150x2=0 1995-2005 125-150 1995x1+ 125x2=1 2005x1+ 150x2=0 2005-2010 125-150 2005x1+ 125x2=1 2010x1+ 150x2=0
СПИСОК ЛИТЕРАТУРЫ
1. Buckley J. The Fuzzy Mathematics of Finance - Fuzzy Sets & Systems, 1987.-№21.
2. Tah, H. M., Carr, V., J. A proposal for construction project risk assessment using fuzzy logic - Construction Management Economics, 2000.- №4. - 491-500 p.
3. Zadeh L., Bellman R. Decision-making in a fuzzy environment.- Management Science, 1970. №4.
4. Zimmerman H.-J. Fuzzy Set Theory and its Applications. - Dordrecht: Kluwer Academic Publishers, 1996. - 315 p.
5. Алтунин А.Е., Семухин М.В. Модели и алгоритмы принятия решений в нечетких условиях.
- Тюмень: ТГУ, 2000. - 352 с.
6. Богатин Ю.В. Инвестиционный анализ: Учебное пособие для вузов. - М.: ЮНИТИ-ДАНА, 2000.-21c.
7. Борисов А.Н., Крумберг О.А., Федоров И.П. Принятие решений на основе нечетких моделей:
примеры использования. - Рига: Зинатне, 1990. - 184 с.
8. Круглов В. В., Дли М.И. Интеллектуальные информационные системы: компьютерная поддержка систем нечеткой логики и нечеткого вывода. - М.: Физико-математическая литера- тура, 2002. - 252 с.
Исайнова А. Н., Шарипбаев А.A.
Инвестициялық жобаларды сараптамалық бағалауды қисынсыз логика негiзiнде iске асыру.
Аталған тәсiл сарапшылардың басқару объектiсi туралы, ереже түрiндегi, жаратылыс тiлiнде көрсетiлетiн бiлiмiн пайдалануды ұйғарады. Басты кезең Қисынсыз көпше түрiнде алынған басқаруды реттегiштiң нақты мәнiне қайта ауда- ру болып табылады. Мұндай реттегiштердiң негiзгi типтерi Мамдани және Сугено бақылаушылары болып табылады.
Аталған тәсiлдi пайдаланудың перспективтiлiгi басқару объектiсiн күйiне келтiрудiң жеткiлiктi деңгейдегi қарапайым- дылығы, объектiнiң түрлi айқындалмаған кейiстерiн және параметрлерiн ескеру, технологиялық және басқарушылық мақсаттарды сипаттау үшiн пайдалану мүмкiндiгi сияқты факторлармен айқындалады.
Issainova A. N., Sharipbaev A.A.
Realisation of an expert estimation of investment projects on the basis of indistinct logic. The given approach assumes use of knowledge of experts about object of the management, represented in the form of the rules expressed in a natural language.
The main stage is return transformation of the management received in the form of indistinct set, to real value of an exit of a regulator. Base types of such regulators are controllers Mamdani and Sugeno. Perspectivity of use of the given method is defined by such factors as sufficient simplicity of adjustment for object of management, possibility to consider the various not determined indignations and object parametres, to use for the description of the technological and administrative purposes.
Поступила в редакцию 12.05.10 Рекомендована к печати 29.05.10