ИССЛЕДОВАНИЕ ПРИМЕНИМОСТИ РАЗЛИЧНЫХ СХЕМ НЕЧЕТКОГО ВЫВОДА В ИЕРАРХИЧЕСКИХ НЕЧЕТКИХ СИСТЕМАХ Ястребова Н.Н., к.т.н. CERN, Geneva, Switzerland e-mail: [email protected] Ястребов И.С. CERN, Geneva, Switzerland e-mail: [email protected] 1. ВВЕДЕНИЕ В настоящее время большую актуальность приобретает использование экспертных систем для решения объемных, трудно формализуемых задач в различных предметных областях. Эти задачи характеризуются, как правило, отсутствием или сложностью формальных алгоритмов решения, неполнотой и нечеткостью, а иногда и нерепрезентативностью исходных данных, нечеткостью конечных целей и условий ограничений при принятии решений. Задача оценки состояния экологической безопасности на предприятии – одна из таких. 2. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИЕРАРХИЧЕСКОГО НЕЧЕТКОГО ВЫВОДА В таблице 1 представлены различные типы схем нечеткого вывода, которые разделены на группы по трем характеристикам: 1. По виду выходного нечеткого множества можно выделить схемы нечеткого вывода, в которых выходное множество является простым множеством действительных чисел (нечеткое множество 1-ого порядка) и те, в которых выходное множество является нечетким и определяется посредством функций принадлежности. 2. По способности схемы накапливать нечеткость при ее использовании в иерархиях нечетких систем – это свойство проистекает из предыдущего. Логично, что вид выходного нечеткого множества как раз и определяет, будет ли возрастать нечеткость по мере увеличения слоев нечеткого вывода в архитектуре создаваемой системы 3. Суммирование одинаковых правил при дефаззификации – это свойство демонстрируется только синглетоном, но также может увеличить вероятность вычислительной ошибки, что может оказаться весьма чувствительным для систем большой размерности. Таблица 1. Сравнение схем нечеткого вывода Название схемы нечеткого вывода Вид выходного Накопление Суммирование нечеткого нечеткости в одинаковых иерархически правил при множества х системах дефаззификации E.H.Mamdani, P.M.Larsen, Y. Tsukamoto 2-ого порядка M. Sugeno Синглетон + - 1-го порядка - - 1-ого порядка - + В прошлом, мы исследовали в основном применимость схемы Сугено для построения иерархических систем нечеткого вывода. Это решение являлось хорошо обоснованным для задачи построения экспертной системы экологической безопасности[2, 4, 6-9]. Но для решения других задач подобного класса необходимо учитывать тот фактор, что математическая природа данной схемы не только дает нам ряд преимуществ, но и накладывает на нас существенные ограничения. Вспомним некоторые математические определения. Схема Мамдани описывается следующим уравнением: ki n ( xi ai, jp with weight p 1 i 1 w jp ) y d j , where j 1, m , (1) Выходное нечеткое множество здесь предствляет собой нечеткое множество второго порядка. Однако, именно эта схема позволяет нам чувствовать себя свободно при определении функций принадлежности. Нам не нужно больше ограничивать себя только линейными зависимостями. Схема Сугено: ki n ( x a p 1 i 1 i i , jp with weight w jp ) y b j ,0 b j ,1 x 1 b j , 2 x 2 b j , n x n , (2) where j 1, m , b j ,i is some numbers Выходное нечеткое множество в данном случае представлено множеством действительных чисел, но мы вынуждены при этом ограничиваться упрощенным подходом, что все зависимости между входными и выходными данными являются линейными, что не всегда отражает реальную взаимосвязь между факторами, определяющими поведение системы. Применение иерархических нечетких баз правил позволяет преодолеть "проклятие размерности" (комбинаторный взрыв): при большом количестве входов эксперту трудно описать причинно-следственные связи в виде нечетких правил. Другое преимущество иерархических систем заключается в том, что они позволяют небольшим количеством правил адекватного описать многомерные зависимости "входы - выход". Существует два способа создания таких систем: с выполнением фаззификации/дефаззификации промежуточных переменных и без дефаззификации/фаззификации промежуточных переменных. Оператор fuzzy ~ x i fuzzy ( xi ) [ xi j , xi ] . (3) ставит в соответствие четкому числу нечеткое множество, содержащее число кортежей, равное числу функций принадлежности, заданных для данной лингвистической переменной. Результатом выполнения над фаззифицированным вектором входных переменных X композиционного правила Л.Заде будет множество: d (x ) d (x ) * ~ y 1 d 1 2 d d (x ) . * * 2 m d (4) m Результирующее значение выхода y определяется как суперпозиция линейных зависимостей, выполняемых в данной точке x* n-мерного пространства. Для этого дефаззифицируем нечеткое множество ~y . Обозначим дефаззификацию функционалом: y deFuzzy ( ~ y) (5) Введем следующие обозначения: l , l 1, k - слой, где k – общее число слоев. Ранее понятие слой употреблялось только по отношению к нейронным сетям. Мы подразумеваем под слоем следующее определение: слой – структурная единица, содержащая все независимые задачи, которые могут выполняться параллельно и результат выполнения одной не влияет на ход вычисления других задач. t l 1, ml задача слоя l, где mi общее число задач слоя l. Под задачей мы подразумеваем атомарную расчетную единицу нечеткого логического вывода, представляющую собой схему нечеткого логического вывода по Сугено. x tl i , i 1, ntl лингвистические переменные задачи t слоя l. Теперь мы можем представить нечеткое выходное множество следующим образом ~y lt lt ~ y lt F ( Fuzzy ({ xi }in1 ), ({ ~ y ( k 1) j }lk 2 ) bj a ), (6) где a, b некоторые числа. Следующее утверждение также справедливо: ~ y k F l 1 ml tl ( F ( F ( Fuzzy ({ xi }in1tl )))) t l 1 (7) Используя композиционное правило Л. Заде мы можем представить зависимости 3 и 4 следующим образом: ~y ( A~ ({ lj}n ), A~ ({ (l k ) j}n ) R (l k ) ({ (l k ) j}n , ~y lj xi i 1 xi i 1 xi i 1 (l k ) j )) lj R l ({ xi }in1 , y (l k ) j , y lj ) (8) После дефаззификации мы получим: k ml y deFuzzy( F ( F ( F ( Fuzzy({xtli}in1 ))))) l 1 tl tl (9) 1 Или с использованием правила Заде: 1 1 2 ~ 1 2 ~y A ({ xi }in1 ) R1 ({ xi}in11,{ y }kj 1 ) R 2 ({ xi }in11 ,{ y }kj 1,{ y }kj 1 ) j j m l Rl ({ xi}in1 ,{ y }kj , m 1, y) j (10) j 3. ВОПРОС ОЦЕНКИ НЕЧЕТКОСТИ. НЕЧЕТКАЯ ЭНТРОПИЯ Большинство вещей в нашем мире в той или иной степени являются неопределенными, неточными, неполными, качественными. Все эти характеристики очень трудно оценивать используя классические математические методы. Измерение этой нечеткости является предусловием анализа сложных систем. Для этого Шэннон ввел понятие “энтропия”, которое позволяет описать степень нечеткости в случайных данных. Когда мы говорим об энтропии в терминах нечеткой логики, мы получаем нечеткую энтропию, которая описывает степень размытости нечеткого множества. Но здесь важно отметить существенное отличие нечеткой энтропии от классической: нечеткая энтропия содержит нечеткую неопределенность, в то время как классическая представляет сосбой случайную вероятность. Пусть X= ( x , , x 2 , : . . , x , ) , F(X) нечеткое множесто на X , P(X) все четкие множества на x, R [0,) , for A F (X ) , A(x) – функция принадлежности A. Ac Ac ( x) 1 A( x) - дополнение A , пусть [a] = [a](x) = a ( a [0,1] ) будет постоянное нечеткое множество на X [3]. Степень нечеткости четкого множества равна 0, потому что его элемент может либо принадлежать, либо не принадлежать этому множеству. Степень нечеткости нечеткого множества [0.5] достигает максимального значения поскольку в этом случае элемент с равной вероятностью может принадлежать множеству или не принадлежать. Очевидно, дополнение такого нечеткого множества А будет иметь ту же степень нечеткости. Также степень нечеткости подмножества A должна быть монотонной: чем ближе A к интервалу [0.5], тем выше эта степень; чем далее от этого интервала, тем ниже. Основываясь на приведенном выше анализе, предлагается определение нечеткой энтропии [2]: 1. D P( x), e( D) 0 2. e([0,5]) max AF e( A) 3. A, A c F ( x) if A c is the sharpened version of A (11) 4. A F ( x), e( A c ) e( A) Так как пересечение A и A' не нулевое, Ягер предложил следующую формулу для нечеткой энтропии: l y ( A) 1 l p ( A, A c ) , n1 / p where A, B F ( x), p 1, l p is depend as (12) n l p ( A, B) [ | A( xi ) B( xi ) | p ]1 / p i 1 Аксиомы нечеткой энтропии приняты научным сообществом и стали важным критерием определения любой новой нечеткой энтропии. Сейчас существует множество формул энтропии, выбор конкретной зависит от решаемой задачи. 4. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ Широкое внедрение экспертных систем всегда сдерживалось целым рядом причин, в числе которых отсутствие достаточно удобного и мощного инструментария разработки прикладных систем и разнородность технических и операционных сред пользователей. Основным средством для создания переносимых приложений в настоящее время является язык Java. Поэтому для реализации экспертной системы было решено использовать следующее программное обеспечение: J2SE 6.0, Apache Derby 10.2.2.0, Hibernate 3.2.0, Swing / AWT. Рассмотрим общую UML – диаграмму Jfuzzytool Jfuzzy Jfuzzydb графический интерфейс управляющая часть, расчеты База данных для ЭС ЭБ нашего приложения (рис.1.). Jfuzzydb.dao Доступ к БД Jfuzzydb.dto Отображение таблиц в классы Рис. 1. Взаимосвязь модулей программы Пакет JFuzzy - это управляющая часть, он является главным модулем программы и отвечает за выполнение расчетов по иерархическому нечеткому выводу. JFuzzyTool – графический модуль, предоставляющий пользователю возможность создавать и редактировать иерархии нечеткого вывода при проектировании экспертных систем на его основе. JFuzzyDB – модуль для работы с данными, используемыми для расчетов в экспертной системе анализа экологии на предприятия. Алгоритм работы модели нечеткого иерархического вывода можно схематически изобразить следующим образом (рис.2): Вектор входных переменны х Преобразование в нечеткую форму (фаззификация) Нечеткий логический вывод Иерархические базы знаний нет i=N да Вычисление детерминированного результата (дефаззификация) Вектор выходных параметров Рис. 2. Модель нечетких вычислений Организация проекта на базе объектно-ориентированного программирования позволила легко перейти от одношагового (стандартного) логического вывода к многошаговому (иерархическому), путем изменения поведения соответствующих классов в зависимости от шага вывода. Все задачи экспертной системы (class FuzzyTask) в программе разбиты на слои (class FuzzyLayer). Каждый шаг нечеткого вывода представлен экземпляром класса FuzzyTask, задающего набор входных переменных и правил нечеткого вывода, методы фаззификации и дефаззификации, формулу нечеткой энтропии и набор правил, определяющих поведение системы. Диаграмма классов представлена на рис. 3. Для хранения всей этой информации был выбран формат XML, позволяющий хранить иерархическую систему в виде древовидной структуры. Разработанная архитектура позволяет пользователям создавать и редактировать иерархического нечеткого вывода любого уровня сложности. Рис. 3. Диаграмма основных классов системы 5. ЗАКЛЮЧЕНИЕ системы Каждый из рассмотренных методов имеет свои недостатки и преимущества. Их комбинация обычно позволяет нам преодолеть трудности, возникаюшие при их применении. Правильный выбор методов является одной из важнейших составляющих процесса автоматизации принятия решений. JFuzzyTool 1.1 помогает сделать этот выбор наглядно, легко и быстро. Вы можете пытаться использовать различные схемы нечеткого вывода, методы оценки энтропии и сравнивать полученные данные для достижения наилучшего результата. В наших дальнейших планах есть использование оптимизации на основе генетического алгоритма для автоматической подстройки перечисленных выше параметров. Пока же мы можем отметить, что на основе данного пакета была создана экспертная система анализа экологической безопасности, которая была успешна внедрена на нескольких российских предприятиях. [4,6-7]. Литература 1. 2. 3. 4. 5. 6. 7. 8. 9. Pal N.R., Pal S.K. Entropy: A new Definition and its Applications. IEEE Trans. Syst., Man Cybernetics. 1991. №21. P.1260-1270. X. Li, Z. Zhao, H.D. Cheng, C. Huang and R.W. Harris, Fuzzy logic approach to image segmentation. In: The 12th International Conference on Pattern Recognition (1994). Ярушкина Н.Г. Основы теории нечетких и гибридных систем: учебное пособие.- М.: Финансы и статистика, 2004.320 с.: ил. Ястребова Н.Н. Нечеткая экспертная система эколого-экономического анализа.// Информатика и экономика: сборник научных трудов/ под ред. Ярушкиной Н.Г. – Ульяновск: УлГТУ, 2007. – С.126-137. Ярушкина Н.Г., Ястребов И.С., Ястребова Н.Н. Построение экспертных систем на основе иерархического нечеткого вывода в программном модуле JFuzzyTool 1.0// Вторая международная конференция «Системный анализ и информационные технологии» САИТ-2007: Труды конференции. В 2 т. – М: Издательство ЛКИ, 2007.- Т.1, С.195197. Свидетельство об официальной регистрации программы для ЭВМ №2007614448 от 23.10.2007г./ Н.Н. Ястребова// Москва: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам. Ivanova N.N. Fuzzy Expert system based simulation and analysis of econo7mic and ecological states for the enterprises.// Proceedings of international conference: “Interactive Systems and Technologies: The Problem of Human-Computer Interaction”. In 2v.- Ulyanovsk, UlSTU, 2005. – V.2. , P. 19-20. Ivanova N.N. The Model of Hierarchical Fuzzy Deduction.// Information Technologies: Proceeding of Russian-German scientific conference devoted to 10-years cooperation of Ulyanovsk State Technical University and Darmstadt University of Applied Science. – Ulyanovsk, UlSTU, 2007.- P.32-34. Jarushkina N.G., Yastrebov I. S., Yastrebova N.N. Using hierarchical fuzzy logic in developing expert system in the program JFuzzyTool 1.0.// Proceedings of international conference: “Interactive Systems and Technologies: The Problem of Human-Computer Interaction”. In 2 v.- Ulyanovsk, UlSTU, 2007. – V.1., P. 27-30.