Краткие теоретические и учебно-методические материалы по теме лабораторной работы



Рассмотрим основные этапы проектирования систем типа Сугено на примере создания системы нечеткого логического вывода, моделирующей зависимость, , . Моделирование этой зависимости будем осуществлять с помощью следующей базы знаний:

если x1=Средний, то y=0;

если x1=Высокий и x2=Высокий, то y=2x1+2x2+1;

если x1=Высокий и x2=Низкий, то y=4x1-x2;

если x1=Низкий и x2=Средний, то y=8x1+2x2+8;

если x1=Низкий и x2=Низкий, то y=50;

если x1=Низкий и x2=Высокий, то y=50.

В ситемах типа Сугено база знаний состоит зи правил вида «Если х1=низкий и х2=средний, то у=а0+а1х1+а2х2». Таким образом, основное отличие между системами типа Мамдани и Сугенозаключатеся в различных способах задания значения выходной пременной в правилах, обраующих базу знаний. В системах типа Сугено – как линейная комбинация входных переменных. 

Методика проектирования систем типа Мамдани с помощью FIS-редактора пакета Matlab заключается в следующем.

Запуск Matlab, для этого необходимо зайти в [пуск]→[все программы]→[Matlab 6.1]

Для загрузки основного fis-редактора напечатать слова fuzzy в командной строке

После этого откроется новое графическое окно

Выбрать тип системы. Для этого в меню File выбирать в подменю New fis… команду Sugeno

Добавить вторую входную переменную. Для этого в меню Edit выбирать команду Add input

       Переименовать первую входную переменную. Для этого сделать один щелчок левой кнопкой мыши на блоке input1, ввести новое обозначение x1 в поле редактирования имени текущей переменной и нажать <Enter>.

       Переименовать вторую входную переменную. Для этого сделать один щелчок левой кнопкой мыши на блоке input2, ввести новое обозначение x2 в поле редактирования имени текущей переменной и нажать <Enter

Переименовать выходную переменную. Для этого сделать один щелчок левой кнопкой мыши на блоке output1, ввести новое обозначение y в поле редактирования имени текущей переменной и нажать <Enter>

Задать имя системы. Для этого в меню File выбрать в подменю Export команду To disk и ввести имя файла, например, FirstSugeno

Перейти в редактор функций принадлежности. Для этого сделать двойной щелчок левой кнопкой мыши на блоке x1

Задать диапазон изменения переменной x1. Для этого напечатать -7 3 в поле Range и нажать <Enter>

Задать функции принадлежности переменной x1. Для лингвистической оценки этой переменной будем использовать, 3 терма с треугольными функциями принадлежности, которые установлены по умолчанию. Задать наименования термов переменной x1. Для этого сделать один щелчок левой кнопкой мыши по графику первой функции принадлежности. Затем напечатать наименование терма Низкий в поле Name. Затем сделать один щелчок левой кнопкой мыши по графику второй функции принадлежности и вводим наименование терма Средний в поле Name. Еще раз сделать один щелчок левой кнопкой мыши по графику третьей функции принадлежности и ввести наименование терма Высокий в поле Name и нажать <Enter>. В результате получить изображенное графическое окно

Задать функции принадлежности переменной x2. Для лингвистической оценки этой переменной будем использовать 3 терма с треугольными функциями принадлежности, которые установлены по умолчанию. Для этого активизируем переменную x2 с помощью щелчка левой кнопки мыши на блоке x2. Задать диапазон изменения переменной x2. Для этого напечатать -4.4 1.7 в поле Range и нажать <Enter>. По аналогии с предыдущим шагом задать следующие наименования термов переменной x2: Низкий, Средний, Высокий

Задать линейные зависимости между входами и выходом, приведенные в базе знаний. Для этого активизировать переменную y с помощью щелчка левой кнопки мыши на блоке y. В правом верхнем угле появилось обозначение трех функций принадлежности, каждая из которых соответствует одной линейной зависимости между входами и выходам. В базе знаний, указаны 5 различных зависимостей: y=50; y=4x1-x2; y=2x1+2x2+1; y=8x1+2x2+8; y=0. Поэтому добавить еще две зависимости путем выбора команды Add Mfs… меню Edit. В появившимся диалоговом окне в поле Number of MFs выбирать 2 и нажать кнопку OK

Задать наименования и параметры линейных зависимостей. Для этого сделать один щелчок левой кнопкой мыши по наименованию первой зависимости mf1. Затем печатать наименование зависимости, например 50, в поле Name, и устанавить тип зависимости – константа путем выбора опции Сonstant в меню Type. После этого ввести значение параметра – 50 в поле Params

Аналогично для второй зависимости mf2 ввести наименование зависимости, например 8+8x1+2x2. Затем указать линейный тип зависимости путем выбора опции Linear в меню Type и ввести параметры зависимости 8 2 8 в поле Params. Для линейной зависимости порядок параметров следующий: первый параметр – коэффициент при первой переменной, второй – при второй и т.д., и последний параметр – свободный член зависимости.

Аналогично для третьей зависимости mf3 ввести наименование зависимости, например 1+2x1+2x2, указать линейный тип зависимости и ввести параметры зависимости 2 2 1.

Для четвертой зависимости mf4 ввести наименование зависимости, например 4x1-x2, укажем линейный тип зависимости и ввести параметры зависимости 4 -1 0.

Для пятой зависимости mf5 ввести наименование зависимости, например 0, укажем тип зависимости - константа и введем параметр зависимости 0

 

Перейти в редактор базы знаний RuleEditor. Для этого выбрать в меню Edit команду Edit rules.... и ввести правила базы знаний. Для ввода правила необходимо выбрать соответствующую комбинацию термов и зависимостей и нажать кнопку Add rule

На рисунке изображено окно редактора базы знаний после ввода всех шести правил

Зайти командой View в меню Rules

В поле Input указываются значения входных переменных, для которых выполняется логический вывод.

Вывести поверхность “входы-выход”, соответствующая синтезированной нечеткой системе. Для вывода этого окна необходимо использовать команду View surface... меню View. Можно сделать вывод, что нечеткие правила достаточно хорошо описывают сложную нелинейную зависимость. Вывести поверхность “входы-выход”, соответствующая синтезированной нечеткой системе. Для вывода этого окна необходимо использовать команду View surface... меню View. Можно сделать вывод, что нечеткие правила достаточно хорошо описывают сложную нелинейную зависимость

 

Задание для лабораторного занятия:

Создать систему нечеткой логики типаСугено, выполнив последовательность алгоритма проектирования систем в среде FuzzyLogicToolboxприклодного программного продукта Matlab

Контрольные вопросы

1. Какова структура систем нечеткой логики типа Сугено?

2. Наименование редактора функции принадлежности.

3. Назначение редактора базы знаний.


Дата добавления: 2018-06-27; просмотров: 268; Мы поможем в написании вашей работы!

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






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