Программные средства реализации адаптивных моделей с нечеткой логикой

Вид материалаДокументы
Подобный материал:
Программные средства реализации

адаптивных моделей с нечеткой логикой


Атанов С.К., к.т.н., доцент кафедры компьютерные системы

Казахского агротехнического университета им. С.Сейфуллина


Резюме

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

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. John E. Dickerson and Julie A. Dickerson "Fuzzy Network Profiling for Intrusion Detection", Iowa State University. September, 2001
  3. Zamboni D, "An Architecture for Intrusion Detection using Autonomous Agents," COAST Technical Report 98/05, COAST Laboratory. Purdue University. June 11, 1998
  4. Малышев Н.Г., Берштейн Л.С., Боженюк А.В. Нечеткие модели для экспертных систем в САПР. М.: Энергоатомиздат, 1991.