Структура fis-файла
Системы нечеткого логического вывода сохраняется на диске в виде fis-файлов - текстовых файлов специального формата. Функции readfis и writefis используются для чтения и записи этих файлов. Иногда удобно модифицировать системы нечеткого логического вывода путем редактирования их fis-файлов, без вызова GUI -модулей Fuzzy Logic Toolbox. Для изменения fis-файлов можно использовать любой текстовый редактор. Однако редактировать fis-файлы надо осторожно так как, изменения некоторых строчек файла влечет за собой необходимость корректирования нескольких других. Например, если при редактировании удален терм, используемый для лингвистической оценки входной или выходной переменной, то необходимо убедиться, что в базе знаний отсутствуют правила, включающие этой терм. Формат fis-файла описан в табл. 5.1 на примере файла tipper.fis - демонстрационной системы нечеткого логического вывода, определяющей размер чаевых в ресторане. Обратим внимание, что правила базы знаний представлены в индексном формате. Таблица 5.1 - Формат fis - файла (на примере файла tipper.fis)
В оглавление книги \ К следующему разделу \ К предыдущему разделу Fuzzy Logic Toolbox включает 11 встроенных функций принадлежностей, которые используют следующие основные функции:
Для удобства имена всех встроенных функций принадлежности оканчиваютя на mf. Вызов функции принадлежности осуществляется следующим образом: namemf(x, params), где namemf – наименование функции принадлежности; Простейшие функции принадлежности треугольная (trimf) и трапециевидная (trapmf) формируется с использованием кусочно-линейной аппроксимации. Трапециевидная функция принадлежности является обобщение треугольной, она позволяет задавать ядро нечеткого множества в виде интервала. В случае трапециевидной функции принадлежности возможна следующая удобная интерпретация: ядро нечеткого множества – оптимистическая оценка; носитель нечеткого множества – пессимистическая оценка. Две функции принадлежности – симметричная гауссовская (gaussmf) и двухстороняя гауссовская (gaussmf) формируется с использованием гауссовского распределения. Функция gaussmf позволяет задавать ассиметричные функция принадлежности. Обобщенная колоколообразная функция принадлежности (gbellmf) по своей форме похожа на гауссовские. Эти функции принадлежности часто используются в нечетких системах, так как на всей области определения они является гладкими и принимают ненулевые значения. Функции принадлежности sigmf, dsigmf, psigmf основаны на использовании сигмоидной кривой. Эти функции позволяют формировать функции принадлежности, значения которых начиная с некоторого значения аргумента и до + (-) равны 1. Такие функции удобны для задания лингвистических термов типа “высокий” или “низкий”. Полиномиальная аппроксимация применяется при формировании функций zmf, pimf и smf, графические изображения которых похожи на функции sigmf, dsigmf, psigmf, соответственно. Основная информация о встроенных функциях принадлежности сведена в табл. 6.1. На рис. 6.1 приведены графические изображения функций принадлежности, полученные с помощью демонстрационной сценария mfdemo. Как видно из рисунка, встроенные функции принадлежности позволяют задавать разнообразные нечеткие множества. В Fuzzy Logic Toolbox предусмотрена возможность для пользователя создания собственной функции принадлежности. Для этого необходимо создать m -функцию, содержащую два входных аргумента – вектор, для координат которого необходимо рассчитать значения функции принадлежности и вектор параметров функции принадлежности. Выходным аргументом функции должен быть вектор степеней принадлежности. Ниже приведена m -функция, реализующая колоколообразную функцию принадлежности : function mu=bellmf(x, params)
Рисунок 6.1. Встроенные функции принадлежности Таблица 6.1. Функции принадлежности
|