Система нечеткого вывода по Сугено



 

В SciFLT (FLT - fuzzy logic toolbox) реализованы все основные функции, необходимые для создания и модифицирования систем нечеткого вывода (СНВ). Для построения системы нечеткого вывода в командной строке основного окна SciLAB необходимо набрать команду editfls. Эта команда вызывает графический редактор систем нечеткого вывода. В меню необходимо выбрать File->New FLS->тип создаваемой системы (Мамдани или Сугено). Создадим систему нечеткого вывода по Сугено. В левой панели появится Tree-control – дерево создаваемой нечеткой системы. Сначала выбираем в нем пункт Description и заполняем появившуюся справа форму. В ней необходимо указать имя редактируемой системы, комментарии (не обязательно), виды T-нормы и S-конормы, тип операторов дополнения, импликации, агрегации и метод дефаззификации.

Для системы по Сугено обычно выбирают типы операторов, указанные на рис.6. Далее определяем состав входных и выходных переменных. Для этого необходимо выбрать в дереве (в левом окне fls  Edit or см. рис.6)пункты Inputs и Outputs соответственно. В окне справа появится число переменных, их список, а также кнопки Add, Delete и Exit. Добавляем новые переменные кнопкой Add.

Сохранение проектируемой системы в рабочее пространство среды SciLAB производится с помощью пункта меню File –> Export–> To workspace. В этом случае данные сохраняются до окончания сеанса работы с SciLAB. Для сохранения данных на диск после окончания сеанса работы применяется соответствующий пункт того же меню – To FLS file… .

Редактор переменных. Для редактирования переменных (переименования, задания диапазона значений, связывания функциями принадлежности) необходимо выбрать в списке входных или выходных переменных нужную. Тогда в правом окне появится редактор переменной (рис.7):

1) в нем необходимо задать имя;

2) диапазон допустимых значений;

3) с помощью кнопки Add внизу окна добавить функции принадлежности. Их можно также удалять, пометив щелчком мыши и нажав кнопку Delete (checked).

Редактор функций принадлежности (ФП) является инструментом, который позволяет отображать и редактировать любые ФП, ассоциированные (связанные) со всеми входными и выходными переменными разрабатываемой СНВ. Редактируют ФП текущей переменной, изменяя характеристики ФП (наименование, тип и числовые параметры). Таким образом, при построении СНВ необходимо посредством редактора ФП определить соответствующие функции для каждой из входных и выходных переменных.

Редактор правил вывода. После того, как указано количество входных и выходных переменных, определены их наименования и построены соответствующие ФП, в СНВ необходимо включить правила вывода. Для этого в дереве контроля выбирается пункт Rules. (в левом окне fls  Edit or см. рис.6).

Основываясь на описаниях входных и выходных переменных, определенных в редакторе ФП, редактор правил вывода формирует структуру правила автоматически. От пользователя требуется лишь связать значения входных и выходных переменных, выбирая из списка заданных ранее ФП, и определить логические связки между ними. Также допускается использование логического отрицания (НЕ) и изменение весов правил в диапазоне от 0 до 1.

Рис. 6. Описание системы

Рис. 7. Редактор переменных (входная переменная из примера 1 Discount)

 

Правила вывода отображаются в окне в следующей форме:

где i - номер входной переменной, ji - номер ФП i-ой переменной, k – номер выходной переменной, n – количество входных переменных, m – количество выходных переменных, w – вес правила. Круглые скобки заключают в себе обязательные параметры, квадратные – необязательные, а угловые – альтернативные параметры (один на выбор).

Пример 1. Создание системы нечеткого вывода (СНВ) Сугено.

В качестве примера, иллюстрирующего метод построения СНВ, рассмотрим следующую ситуацию. Необходимо оценить степень инвестиционной привлекательности конкретного бизнес-проекта на основании данных о ставке дисконтирования и периоде окупаемости.

Шаг первый. Вызываем редактор для создания СНВ, набирая в командной строке editfls. В появившемся окне редактора создаем новую систему по Сугено. Заполняем описание как показано на рис. 6. Добавляем 2 входные переменные и 1 выходную переменную.

В результате получаем следующую структуру СНВ: два входа, механизм нечеткого вывода по Сугено, один выход. Объявляем первую переменную как discont, а вторую – period, которые, соответственно, будут представлять ставку дисконтирования и период окупаемости бизнес-проекта. Наименование выходной переменной, на основании которой принимается решение о степени инвестиционной привлекательности бизнес-проекта, задается как rate. Сохраним создаваемую модель под именем Invest. На рис. 6 представлено текущее состояние окна редактора СНВ.

Работа с редактором правил вывода, а также со средствами просмотра правил и поверхности вывода выполняется аналогично случаю построения СНВ по Мамдани (см. примеры 1-4 предыдущей лабораторной работы).  Но при описании системы по Сугено (см. рис. 6) справа в окне Description задают параметры:

Name: Profit Takagi-Sugeno

Type: Takagi-Sugeno

S-Norm Class: Maximum

T-Norm Class: Minimum

Complemet: One

Implication method: Product

Aggregation method: Maximum


Дата добавления: 2019-09-13; просмотров: 1049; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!