КОСВЕННЫЙ МЕТОД НЕЧЕТКОГО ВЫВОДА ДЛЯ ПРОДУКЦИОННЫХ СИСТЕМ СО МНОГИМИ ВХОДАМИ
В.Г. Синюк, к.т.н.; Д.А. Куценко
(Белгородский государственный технологический университет им. В.Г. Шухова)
Рассмотрим систему с n входами xj,x2,^,xn и 1 выходом у. Пусть Xi - базовое множество значений i-го входа, xi е Xi (i = 1,...,n), X = X1 х X2 х...х Xn, Y - базовое множество значений выхода системы (у е Y). Пусть F(S) -множество, состоящее из всех нечетких подмножеств множества S, p,FS (s): S ^ [0,1] - функция принадлежности нечеткого множества FS е F(S).
Пусть заданы нечеткие множества А'е F(Xi), i = 1,...,n , представляющие собой реальные значения входов xi. Задача заключается в определении выхода системы B' е F(Y).
Рассмотрим правило modus ponens следующего вида.
Предпосылка: (x есть А')
Правило: Hk: Если^x есть А(к)^, то^у есть B(k)^ Вывод: (у есть B/(k)^
Чтобы получать выход B'(k) с помощью modus ponens, можно воспользоваться методами вывода Заде, Болдуина или Цукамото.
В методе Заде (называемом прямым методом) правило Hk используется для представления нечеткого отношения A(k) ^ B(k) на XxY . Вывод получается следующим образом:
^B,(k) (у) = supT(^a'(x), Ца№) (x) ^ ^B(k) (у)), (1)
xeX
где T(a,b) - Т-норма; ^ - операция нечеткой импликации.
В методах Болдуина и Цукамото (называемых косвенными методами) сначала определяется нечеткое значение истинности антецедента
(x есть A(k)^ правила Hk относительно предпосылки (xесть А'), которое обозначается как CP(A(k), А')е F([0,1]), следующим образом (обратной оценкой истинности):
^CP(A<k),A')(т) = sup Ца'(x), при те [0,1]. (2)
Ца№, «=т
Затем вычисляется нечеткое значение истинности для консеквента ^у есть B<k^ правила Hk,
которое обозначается как CP(B(k),B')е F([0,1]) и определяется из CP(A(k),A') и функции импликации. Наконец, вывод B'(k) определяется следующим образом (оценкой истинности):
Цв,оо (У) = М-ср(В<'),В') (^в, (У)) > пРи У е ¥ • (3)
В методе Болдуина СР(В(к),В') определяется следующим способом:
^СР(В(к),В')(Ь) = 8",РТ(^СР(Л(к),Л')(а), а ^ Ь) • (4) ае[0,1]
В методе Цукамото нечеткое значение истинности для высказывания «Если (х есть А<кМ , то
у есть Bw » при A(k) е F(x), B(k) е Fty), которое
A(k) 3B(k) е F([0,1]),
(5)
обозначается как CP*(k) = CP определяется следующим образом:
^CP-(k)(X) = ^CPA(k)^B(k)(T) =
= sup T (^CP1(Tx), Rcp2(T2))
(t1,T2)E[0,1]2
и CP(B(k),B') определяется следующим способом:
^CP(B<k> B')(b) = SUP T(V^'^cp-(k)(c)) • (6)
(a,c)E[0,1]2 a^b=c
Пусть зависимость между входами и выходом описывается нечеткими правилами «Если-то» Hk следующего вида:
Если ^ x1 есть A11(k^ и^ x2 есть A21(k^ и...
Hk: -и( xnесть КГ) или-или( x1есть A1pk(k^ и (7)
и(Х2 есть A2pk ^ ) и -и (Xn есть Anpk ^ ) >
то ^y есть B00^, где k - номер правила в системе, k = 1,...,K, K -количество правил; pk - количество конъюнктивных наборов в k-м правиле; A(k) е F<Xi> - нечеткое множество, представляющее собой значение лингвистической переменной i-го входа в k-м правиле, принадлежащее j-му конъюнктивному набору k-го правила, i = 1,...,n , j = 1,___,pk;
B(k) е F(Y) - нечеткое множество, представляющее собой значение выходной лингвистической переменной в k-м правиле.
Рассмотрим алгоритм решения поставленной задачи для правил вида (7) на основе метода вывода Цукамото в виде следующей последовательности этапов.
Агрегирование
Для k-го правила (k = 1,_,K) вычислить нечеткое значение истинности CP(k) антецедента правила относительно известного входного значе-
ния (х1 есть А') и... и (хп есть АЩ):
Ср(Ю = Ср ^ х1 есть Ап<к)) и ... и( хп есть Ап1<к)) или...
или ( х1 есть А1Рк<к)) и...и ( хп есть Апрк<к)), (х1 есть А1) и...и( хп есть Ап)) =
=н£ л (Л*(Ср<А<к,'А'))],
где Т - расширенная по принципу обобщения Т-норма; § - расширенная по принципу обобщения §-конорма:
и - (т¡)=
=ГГ„(СР<А?,,А;)) ^
sup
(Ti ,T2 ,_,Tn )е[0, 1]1 ^CPik)(T j)'
,n ( i=T, (^CP(A|f),A; )^)) =
.(T) =
= sup ( T (^cp(k)d j))) =
(Ti,T2,^,Tpl)E[0,1]P^J=1'-P^ CPj >1
S (T,)=T
j=1_,pl J
= Цср<1) (T)
при те [0,1],l = 1,...,K,
где T - Т-норма; S - S-конорма. В качестве T и S можно использовать различные n-местные Т-нормы и S-конормы, например, минимум TM и
SM максимум (операции логики Заде):
TM ^•••^•••^n^mi^),
M i=1,.,n i=1.....п
sm (x^...,XP_,Xn) = max(xi).
i=1,_,n
JM i=1,___,n
(8)
Если множества А',...,Ап являются одноточечными, то есть
Г1, если х1 = х. Ца; (х.) = Г5 <х1;х1) = \ 1 1, (9)
' [ 0, иначе
где х. - четкое значение 1-го входа, х.,х. е X. (1 = 1,...,п ), то возможно применить следующую процедуру агрегирования. Если входы имеют одинаковую важность и в качестве Т-нормы и §-конормы используются операции логики Заде (8), то значение СР(к) находится по формуле:
cp(l) ЧУж (mnn ^ A4(i)(Xi))| •
(10)
Если входы имеют различную важность, тогда функция принадлежности нечеткой степени истинности (10) имеет следующий вид: иср(к) (т) =
11, если т= тах ^_ПП1111 ^шах(1 -w(k),иА(к)(х1))^ , (Ц) 0, иначе
для те [0,1], где w1k),w!!k),...^пк) е [0,1] - весовые коэффициенты, выражающие важность вхо-
дов в к-м правиле (к = 1,...,К), причем чем важнее 1-й вход, тем больше его вес w<k).
Активизация
Для к-го правила (к = 1,...,К) вычислить нечеткое значение истинности консеквента СР((уесть Б<к)},(уесть В'<к))}, где В'<к) - нечеткое значение выходной переменной, полученное в результате нечеткого вывода по к-му правилу в отдельности.
'CP((y есть B(l)^y есть B/(l^)
(b) =
= sup T(^CP(l) (а), ^CP. (а ^ b)),
(12)
ae[0,1]
при Ь е [0,1], где ^ - оператор нечеткой импли-*
кации; СР - нечеткое значение истинности импликации; Т - Т-норма. В этом случае нечеткий логический вывод соответствует косвенному методу вывода Цукамото.
Нечеткое значение истинности импликации *
СР по умолчанию принимается истинным: ^ср- (с) = ^истинно(с), при с е [0,1],
где ^истинно (с) = с, при с е [0,1].
В этом случае нечеткий логический вывод соответствует косвенному методу вывода Болдуина.
Аккумуляция
Для к-го правила (к = 1,...,К) вычислить нечеткое значение выходной переменной В'<к):
иВ'<к) (у) = ЦСр^уесть В<к^^уесть В'<к))) (ЦВ<к)
(у)). (13)
Значение выходной переменной В' по всей совокупности нечетких правил получить как результат применения операции пересечения нечетких множеств
К
В' = р| В'<к) . (14)
Если консеквент правила представлен в виде одноточечного множества, то есть
цв(ч (у) = f8 (у^у)
1,
если y = y(l)
0, иначе
то нечеткое значение выходной переменной В'<к) можно рассчитать по формуле
' Д1), если у = у(к)
^CP^(y80Tb B(l)),(yесть B'™)} V
^ / mw «>\ (0),иначе
CP(i уесть B^'Uyесть B^'l) 4 "
(15)
Аналогичным образом можно рассчитать нечеткое значение выходной переменной В'<к) и при использовании четких функций в консеквенте правила. Значение выходной переменной по всей совокупности нечетких правил в данном случае будет четким, его можно получить по формуле следующего вида:
ри-Л
l=1
у =к -1
*СР((уесть В(к)\,(у есть В'(к)\) (1) ' У
X ^СР((у есть В(к)),(у есть В'(к)})(1)
(16)
Дефаззификация
Четкое значение выходной переменной у, если В' не представлено одноточечным множеством или четкой функцией, получить как результат дефаззификации нечеткого множества В'.
Преимущество рассмотренного метода нечеткого вывода по сравнению с композиционным
правилом вывода заключается в том, что вычисления переносятся в пространство нечетких значений истинности. Это позволяет уйти от предметной области и использовать универсальное представление для выражения таких вербальных понятий, как «истинно», «очень истинно» и т.п.
На основе данной системы нечеткого вывода можно построить нейро-нечеткую систему. Дальнейшие исследования связаны с разработкой специально адаптированного для данной задачи генетического алгоритма, с помощью которого реализуются процессы обучения и настройки нейро-нечеткой системы.
к
ОЦЕНКА ЭФФЕКТИВНОСТИ СИСТЕМ ЛОГИЧЕСКОГО ВЫВОДА МОДИФИЦИРУЕМЫХ ЗАКЛЮЧЕНИЙ
М.Н. Томчук (Вятский государственный университет, г. Киров); Д.А. Страбыкин (Кировский филиал МГЭИ)
Системы обработки знаний на сегодняшний день распространены достаточно широко в виде экспертных систем, систем принятия решений, систем логического программирования. Разработка новых методов и средств обработки знаний способствует расширению класса решаемых задач и, следовательно, расширению области применения систем обработки знаний.
Особого внимания заслуживают системы обработки знаний, основанные на моделировании рассуждений человека средствами логического вывода. В таких системах знания обычно представляются в виде логических формул исчисления высказываний или исчисления предикатов первого порядка, что позволяет достаточно просто описывать исходные посылки и интерпретировать результат, а также отслеживать ход моделирования рассуждений.
В настоящее время перспективными являются системы логического вывода, основанные на принципе деления дизъюнктов, отличительными чертами которого являются двунаправленный вывод (что сокращает число шагов логического вывода) и значительный возможный параллелизм обработки знаний (что позволяет эффективно решать задачи логического вывода на современных многопроцессорных вычислительных системах и комплексах) [1].
Одним из новых видов логического вывода является логический вывод модифицируемых заключений, который позволяет преобразовать изначально невыводимое заключение с целью сделать его следствием исходных посылок [2]. Этот вид вывода делает возможным расширение класса решаемых системами логического вывода задач, в частности, за счет задач интеллектуального обу-
чения, интеллектуального управления вычислительными процессами, автоматического управления объектами и других.
При разработке новых методов и средств логического вывода возникает задача оценки эффективности их работы. Такая оценка позволяет, с одной стороны, оценить целесообразность разработки, а с другой - определить характеристики систем обработки знаний, построенных на основе новых методов и средств логического вывода. В работе рассматриваются критерии оценки эффективности систем обработки знаний и предлагаются способы расчета времени логического вывода и степени модификации заключения для логического вывода модифицируемых заключений.
Критерии эффективности
Для оценки эффективности систем обработки знаний предложено множество критериев. Все критерии можно разделить на следующие группы:
а) критерии пользователей: прозрачность, удобство интеллектуального интерфейса;
б) критерии приглашенных экспертов: оценка решений, предлагаемых системой, сравнение решений системы с собственными решениями, оценка подсистем;
в) критерии коллектива разработчиков: эффективность реализации, производительность, время отклика, дизайн, широта охвата предметной области, глубина анализа предметной области, непротиворечивость базы знаний, наличие и количество тупиковых ситуаций, анализ чувствительности программы к изменениям в представлении знаний, данных и т.д.
Кроме того, для рассматриваемой системы следует ввести критерии, специфические для вы-