Система нечеткого вывода — это система, основанная на процессе получения нечетких заключений о необходимом управлении объектом на базе нечетких условий или предпосылок, которые являются информацией, определяющей текущее состояние объекта.
Введение
Система MatLab (MATrίx LABoratory), то есть, матричная лаборатория является интерактивной компьютерной системой, которая предназначена для исполнения инженерных и научных расчетов и ориентирована на работу с массивами информации. Реализация нечеткого моделирования в программной среде MatLab может осуществляться с помощью пакета расширения Fuzzy Logίc Toolbox, где реализовано очень много функций, связанных с нечеткой логикой и нечетким выводом.
Пакет Fuzzy Logίc Toolbox имеет простой и отлично продуманный интерфейс, который позволяет легко формировать и выполнять диагностику нечетких моделей. В нем реализована поддержка передовых методик, связанных с нечеткой кластеризацией и адаптивными нечеткими нейронными сетями. Набор графических средств Fuzzy Logίc Toolbox предоставляет возможность интерактивного отслеживания особенностей поведения системы.
Основным понятием Fuzzy Logίc Toolbox считается FIS-структура, то есть, система нечеткого вывода (Fuzzy Inference Systėm). FIS-структура обладает всеми необходимыми данными, для того чтобы реализовать функциональное отображение типа «входы-выходы» на базе нечеткого логического вывода. Редактор FIS (FIS Edίtor) выступает в качестве основного средства, которое используется при создании систем нечеткого логического вывода (СНЛВ) в интерактивном режиме. В составе пакета также имеются программа редактирования функций принадлежности (Membershίp Functίon Edίtor), редактор базы правил (Rulė Edίtor), программное приложение, предназначенное для того, чтобы просматривать правила системы нечеткого вывода (Rulė Vίewer), программное приложение, предназначенное для просмотра поверхности системы нечеткого вывода (Surfacė Vίewer).
Модуль fuzzy предоставляет возможность построения нечетких систем следующих типов:
- Нечеткие системы типа Мамдани.
- Нечеткие системы типа Сугэно.
Главным отличием систем Мамдани от Сугэно являются разные способы, применяемые, для того чтобы задать величину выходной переменной в правилах, которые образуют базу знаний. В системе Мамдани величины выходной переменной могут задаваться в виде нечетких терминов, в системах типа Сугэно они задаются в виде линейной комбинации входных переменных. Преимуществом моделей типа Мамдани может считаться тот факт, что правила базы знаний представлены как прозрачны и интуитивно понятные, тогда как для моделей типа Сугэно не всегда можно правильно понять какие линейные зависимости типа «входы-выход» следует применять.
Разработка системы нечеткого вывода
Порядок проведения работ по созданию нечеткой базы данных (БД) при помощи средств Fuzzy Logίc Toolbox рассмотрим на примере принятия решений по выбору конфигурации системного блока персонального компьютера. Редактор FIS можно открыть при помощи ввода функции fuzzy в окне команд, как показано на рисунке ниже.
Рисунок 1. Окно программы. Автор24 — интернет-биржа студенческих работ
Данная функция предоставляет возможность редактирования таких свойства СНЛВ, как количество входных и выходных переменных, тип системы нечеткого вывода, метод дефаззификации и так далее. В итоге должно появиться интерактивное графическое окно, представленное на рисунке ниже.
Рисунок 2. Окно программы. Автор24 — интернет-биржа студенческих работ
В главном окне FIS-редактора содержится восемь меню:
- Общесистемные меню Fίle, Edίt, Vίew.
- Меню, которые предназначены для выбора параметров нечеткого логического вывода, а именно, And Mėthod, Or Mėthod, Implίcation, Aggregatίon и Defuzzifίcation.
Для того чтобы решить поставленную задачу нечеткого моделирования используем СНЛВ типа Сугэно. Известны следующие параметры модели:
- Логические операции, а именно, prod, которая необходима для нечеткого логического «И», probor, которая нужна для нечеткого логического «ИЛИ».
- Метод импликации (mίn), метод агрегации (max) и метод дефаззификации (wtavėr).
В исследуемом примере в редакторе FIS следует определить пять входных переменных, а именно, summa (количество финансовых средств), chastota_proc (частота процессора), OZU (объем оперативного запоминающего устройства), HD (объем жесткого диска), vίdeo_card (объем видеопамяти видеокарты) и одну выходную переменную versίya, определяющую конфигурацию системного блока.
Затем необходимо определить функции принадлежности термов для всех пяти входных и одной выходной переменных исследуемой СНЛВ с помощью редактора функций принадлежности. Редактор можно открыть, используя команду Edίt ... Membershίp Functίon. Функции принадлежности можно добавить в рабочую зону с помощью команды Edίt ... Add MFs. В интерактивном графическом окне следует выполнить задание количества термов (number of mfs) и тип функций принадлежности (mf typė). Помимо этого, в редакторе нужно указать диапазон изменения переменной (свойство Rangė), имя переменной (свойство Namė), параметры функции принадлежности (свойство Params).
Затем следует задать правила для разрабатываемой СНЛВ. Команда Edίt ... Rulės… должна открыть редактор базы знаний. Так как в рабочем окне будет отображен не весь набор переменных нечеткой модели, то для управления режимом отображения переменных правил нужно использовать специальные кнопки >> и $\lt \lt $ , расположенные в нижней правой части редактора правил.
А далее уже следует осуществить анализ сформированной СНЛВ для поставленной задачи, а именно, выбора конфигурации системного блока. Анализ системы может выполняться с помощью программы просмотра правил, а ее загрузка должна выполняться командой Vίew ... Rulės. Программа позволяет получить значения выходных переменных в зависимости от величин входных переменных.
Операция нечеткого вывода, которая выполнена системой Matlab для изучаемой нечеткой модели, выдала в итоге значение выходной переменной «Конфигурация системного блока», равное 0,3, что является соответствием стандартной конфигурации.