Анализ программных средств построения адаптивных моделей с нечеткой логикой Атанов С.К., к.т.н., доцент кафедры компьютерные системы Казахского агротехнического университета им. С.Сейфуллина Резюме В статье сделан обзор программных продуктов, использующих нечеткую логику. Также исследованы алгоритмы принятия решений существующих пакетов с нечеткой логикой, проведен анализ и область применения программных продуктом, их преимущества и недостатки. В настоящий момент не существует одного общепризнанного метода обучения нечетких моделей, поэтому актуальной задачей является разработка и поиск новых, эффективных методов. Таким образом, видимо, наиболее перспективное направление исследований лежит в использовании генетических алгоритмов для обучения нечетких моделей. The res,me In article the review of the software products using the fuzzy logic is made. Also algorithms of decision-making of existing packages with fuzzy logic are investigated, the analysis and a scope program by a product, their advantages and lacks is carried out. At the moment there is no one conventional method of training of fuzzy models, therefore an actual problem is working out and search of new, effective methods. Thus, probably, the most perspective direction of researches lays in use of genetic algorithms for training of fuzzy models. Резюме Бұл мақалада анық емес логиканы қолдана отырып программа түрлерін жасауға болатынын қарастырдым.Осы мақала ар салада пайдаланылатын програмалардың алгаритмдері зертелді және де жетістіктері мен кемшіліктері қарастырылды.Дәл осы уақытта бір тұтас методиканы оқытатын анық емес логика жүйелері әлі жоқ екен, сол үшін кәзіргі уақытта нақты ғылыми жұмыстарды жанадан және жалпы методиканы табу пайдалы болады. Енді, менім ойымша келешекте пайдалы жұмыс программаларын анық емес логиканы пайдаланылатын генетикалық алгаритмдардың заманға сай үйретудің жолдарын қарастырдым В настоящее время мировой активно формируется рынок коммерческих программных продуктов для работы с нечеткой логикой. На нем представлено более 100 пакетов прикладных программ, которые в той или иной мере используют нечеткую логику. Лидерами в данной области являются несколько компаний-разработчиков программного обеспечения. Их инструментальные средства ориентированы на применение нечеткой логики в максимальном количестве областей и приложений. Это пакет CubiCalc фирмы Hyper Logic, FuzzyTECH (Inform Software), FIDE (Ap-tronix), пакеты расширения к MatLab: Fuzzy Logic Toolbox (поставляется с MatLab) и FlexTool for MATLAB компании Cynap Sys, а также пакет JFS (разработчик Ян Мортенсен) и другие [1, 2, 3]. Большинство перечисленных пакетов программ имеют полнофункциональный пользовательский интерфейс, развитые средства импорта/экспорта данных. Классифицировать пакеты нечеткой логики по их возможностям можно на следующие группы. 1. Программное обеспечение для генерации кода для микроконтроллеров, работающих на нечетких алгоритмах. Как правило, код генерируется на языке C или языке ассемблера. 2. Пакеты, позволяющие строить экспертные системы на основе нечеткой логике. Другими словами, нечеткие правила и функции принадлежности задаются экспертами предметной области. Во всех пакетах исследователю предоставляется возможность выбора вида функций принадлежности (треугольная, трапецеидальная, гауссова и др.), механизма нечеткого вывода (Мамдани, Сугено, Цукамото, Ларсена), способа композиции и приведения к четкости. Работа с пакетами облегчается графическим отображением мнемосхем нечетких моделей, поверхностей отклика и других зависимостей [3]. 3. Пакеты, позволяющие строить аппроксиматоры зависимостей и системы классификации на основе адаптивных моделей нечеткого вывода. К первой группе относятся инструментальные средства FuzzyTECH и FIDE. При моделировании сложных систем основной интерес представляют пакеты программ из двух последних групп. Создавать экспертные нечеткие системы предоставляют возможность большинство из перечисленного выше прикладного ПО. Стоимость некоторых из программ может достигать нескольких тысяч долларов в стандартной поставке. И только в немногих из них предусмотрена возможность адаптивной настройки структуры и параметров нечеткой модели. Как таковых программ, ориентированных только на работу с адаптивными нечеткими системами, в ходе проведенного анализа найдено не было. Среди рассмотренных пакетов наибольшей универсальностью обладают FuzzyTECH и расширение Fuzzy Logic Toolbox for MatLab. Остановимся только на характеристике возможностей адаптивной настройки нечеткой базы знаний в этих пакетах. В FuzzyTECH реализованы некоторые методы структурной адаптации нечеткой модели, или методы генерации нечетких правил «Если-То» [2]. Один из них заключается в том, что вначале формируется полная база нечетких правил и каждому из них приписывается коэффициент важности, сначала случайный. Далее выбирается один из четырех методов обучения (RealMethod, Ran-domMethod, Batch_Learn, Batch_Random) в ходе которого уточняются коэффициенты важности. При коэффициенте важности, близким к нулю, правило предлагается удалить, но окончательный выбор все же остается за исследователем. Стоит отметить, что предписывание правилам коэффициентов важности противоречит идеологии нечетких систем, в которой предполагается, что все правила одинаковы по весу. Такой подход более близок к гибридным нейро-нечетким системам, в которых роль коэффициентов важности нечетких правил играют весовые коэффициенты нейронов. Второй метод, доступный в FuzzyTECH, использует генетический алгоритм для оптимизации числа термов для каждой переменной системы [3], при этом используются типовые формы функций принадлежности и симметричное нечеткое разбиение. Недостатком данного метода является большая размерность задачи, экспоненциально возрастающая при увеличении числа переменных системы. Кроме того, задача оптимизации числа термов является менее важной, чем задача генерации набора правил из экспериментальных данных. Пакет Fuzzy Logic Toolbox for MatLab обладает более широкими возможностями по сравнению с FuzzyTECH для аппроксимации нелинейных зависимостей адаптивными нечеткими моделями [4]. Важным плюсом является тот факт, что математическая среда MatLab популярна в СНГ и имеется достаточное количество документации и информационных источников по ее применению. Основные функции и алгоритмы в расширении Fuzzy Logic Toolbox реализованы для механизма вывода Сугено (TSK). Предоставляется возможность работы как с дескриптивными, так и с аппроксимативными правилами в форме TSK. Обучение нечеткой модели проводится в два этапа. На первом этапе генерация правил и нахождение границ термов проводится на основе метода субтрактивной кластеризации. На втором этапе используется технология AN-FIS (Adaptive Network-based Fuzzy Inference System) – итерационная процедура для настройки функций принадлежности методом обратного распространения ошибки. Обучение моделей Мамдани в данном пакете не предусмотрено, не поддерживается и работа с аппроксимативными правилами в форме Мамдани. С применением дополнительного пакета Optimization Toolbox можно провести адаптивную настройку функций принадлежности по Мамдани, но нечеткие правила необходимо задать самостоятельно. Возможность применения эволюционных вычислений и генетических алгоритмов в методах настройки адаптивных нечетких моделей в Fuzzy Logic Toolbox также отсутствует. Эта возможность доступна в другом пакете расширения для MatLab – пакете FlexTool компании CynapSys. Это единственный из широко известных коммерческих пакетов, в котором имеется возможность полной генетической настройки всех частей нечеткой модели. На выбор исследователю предлагается три типа функций принадлежности (треугольная, трапецеидальная и гауссова), 10 способов нечеткой импликации (по Заде, Мамдани, Лукасевичу, Клене-Диенесу и др.), 19 способов суперпозиции нечетких множеств (включая такие редкие, как Дюбуа, Домби, Ягера и др.), 8 методов дефазификации и два механизма вывода – Мам-дани и Сугено. Такое разнообразие нечетких моделей для адаптивного нечеткого вывода более чем достаточное, поскольку на практике используют, как правило, импликацию в виде минимума и суперпозицию операцией максимума или произведения. Адаптивная нечеткая модель способна настроиться под конкретный способ дефазификации, поэтому критерием выбора того или иного способа должна служить его наименьшая вычислительная сложность. Для обучения модели на экспериментальных данных есть возможность выбора из трех типов генетического алгоритма – стандартный ГА, микро-ГА (Micro-GA) и устойчивый ГА (Steady State GA). Последние два представляют собой модификации стандартного ГА и подробно описаны, например в [4]. К недостаткам пакета FlexTool следует отнести: 1. Высокая цена, к которой необходимо прибавить цену среды MATLAB, и тогда полная стоимость пакета составит от 2,5 до 4,5 тыс. долл. в зависимости от варианта поставки. 2. Отсутствие документации на русском языке к пакету FlexTool. 3. Методы, используемые в пакете FlexTool для обучения нечеткой модели генетическим алгоритмом, неописаны в справочнике системы. Проведенный обзор известных пакетов программ для нечеткого моделирования показал, что большинство из них ориентированы на построение нечетких экспертных систем, когда параметры функций принадлежности и правила задаются экспертом, так только в одном пакете используются генетические алгоритмы для формирования нечеткой модели. Методы построения (обучения) адаптивных нечетких моделей являются более сложными и трудоемкими, чем методы других интеллектуальных моделей. Основные трудности связаны с генерацией базы нечетких правил и корректировкой формы функций принадлежности. В настоящий момент не существует какого-либо одного общепризнанного метода обучения нечетких моделей, поэтому актуальной задачей является разработка и поиск новых, эффективных методов. Таким образом, видимо, наиболее перспективное направление исследований лежит в использовании генетических алгоритмов для обучения нечетких моделей. 1. 2. 3. 4. Литература http://www.mathworks.com John E. Dickerson and Julie A. Dickerson "Fuzzy Network Profiling for Intrusion Detection", Iowa State University. September, 2001 Zamboni D, "An Architecture for Intrusion Detection using Autonomous Agents," COAST Technical Report 98/05, COAST Laboratory. Purdue University. June 11, 1998 Малышев Н.Г., Берштейн Л.С., Боженюк А.В. Нечеткие модели для экспертных систем в САПР. М.: Энергоатомиздат, 1991.