Краткие теоретические и учебно-методические материалы по теме лабораторной работы
Рассмотрим основные этапы проектирования систем типа Мамдани на примере создания системы нечеткого логического вывода, моделирующей зависимость, , . Моделирование этой зависимости будем осуществлять с помощью следующей базы знаний:
если x1=Средний, то y=Средний;
если x1=Низкий и x2=Низкий, то y=Высокий;
если x1=Низкий и x2=Высокий, то y=Высокий;
если x1=Высокий и x2=Высокий, то y=Выше Среднего;
если x1=Высокий и x2=Низкий, то y=Выше Среднего;
если x1=Высокий и x2=Средний, то y=Средний;
если x1=Низкий и x2=Средний, то y=Низкий;
если x1=Высокий и x2=Выше Среднего, то y=Средний;
если x1=Высокий и x2=Ниже Среднего, то y=Средний.
FuzzyLogicToolbox – это пакет прикладных программ, входящих в состав среды Matlab. Он позволяет создать систему нечеткого логического вывода и ненчеткой классификации в рамкх среды Matlab, с возможность их интегрирования в Simulink.
Базовым понятием FuzzyLogicToolbox является FIS – структура – система нечеткого вывода (FuzzyInferenceSystem). FIS – структура содержит все необходимые данные для реализации функционального отображения «входы – выходы» на основе нечеткого логического вывода согласно схеме, приведенной на рисунке. FIS-редактор предназначен для создания, сохранения, загрузки и вывода на печать систем нечеткого логического вывода, а также для редактирования следующих свойств:
тип системы;
наименование системы;
количество входных и выходных переменных;
наименование входных и выходных переменных;
|
|
параметры нечеткого логического вывода.
Обозначения:
Х – входной четкий вектор;
Х – вектор нечетких множеств, соответствующий входному вектору Х;
У – результат логического вывода в виде вектора нечетких множеств;
У – выходной четкий вектор.
Фаззификатор отображает "четкую" точку (или значение переменной ) из Х в нечеткие множества из Х. Дефаззификатор отображает нечеткие множества из Y в четкое значение выхода. Базис нечетких правил и механизм нечеткого вывода остаются такими же, как в простых системах нечеткой логики.В системах типа Мамдани база знаний состоит из правил вида «Если х1=низкий и х2=средний, то у=высокий».
Методика проектирования систем типа Мамдани с помощью FIS-редактора пакета Matlab сводится к следующему.
Запуск Matlab, для этого необходимо зайти в [пуск]→[все программы]→[Matlab 6.1]
Для загрузки основного fis-редактора напечатать слово fuzzy в командной строке
После этого откроется новое графическое окно
Добавить вторую входную переменную. Для этого в меню Edit выбираем команду Addinput
Переименовать первую входную переменную. Для этого сделать один щелчок левой кнопкой мыши на блоке input1, ввести новое обозначение х1 в поле редактирования имени текущей переменной и нажать <Enter>.
|
|
Переименовать вторую входную переменную. Для этого сделать один щелчок левой кнопкой мыши на блоке input2, введем новое обозначение х2 в поле редактирования имени текущей переменной и нажмем <Enter>
Переименовать выходную переменную. Для этого сделать один щелчок левой кнопкой мыши на блоке output1, введем новое обозначение y в поле редактирования имени текущей переменной и нажмем <Enter>
Задать имя системы. Для этого в меню File выбрать подменю Export команду Todisk и ввести имя файла, например, first
Перейдем в редактор функций принадлежности. Для этого сделать двойной щелчок левой кнопкой мыши на блоке х1
Зададим диапазон переменной х1.Для этого напечатать -7 3 в поле Range и нажать <Enter>
Задать наименования термов переменной x1. Для этого сделаем один щелчок левой кнопкой мыши по графику первой функции принадлежности. Затем вводим наименование терма, например, Низкий, в поле Name и нажмем <Enter>.
Затем сделать один щелчок левой кнопкой мыши по графику второй функции принадлежности и вводим наименование терма, например, Средний, в поле Name и нажать <Enter>.
Еще раз сделать один щелчок левой кнопкой мыши по графику третьей функции принадлежности и вводим наименование терма, например, Высокий, в поле Name и нажать <Enter>. В результате получить графическое окно, изображенное на рисунке
|
|
Задать функцию принадлежности переменной x2. Для лингвистической оценки этой переменной будем использовать 5 термов с гауссовскими функциями принадлежности. Для этого активизируем переменную x2 с помощью щелчка левой кнопки мыши на блоке x2 и удалим все графики переменной х2. Затем в меню Edit выбрать команду Add MFs.... В появившимся диалоговом окне выбрать тип функции принадлежности gaussmf в поле MF type и 5 термов в поле Number of MFs. После этого нажимаем <Enter>
Задать диапазон изменения переменной x2. Для этого напечатаем -4.4 1.7 в поле Rangeи нажмем <Enter>
По аналогии cпредыдущим шагом задать следующие наименования термов переменной x2: Низкий, Ниже среднего, Средний, Выше среднего, Высокий. В результате получим изображенное графическое окно на рисунке
Задать функцию принадлежности переменной y. Для лингвистической оценки этой переменной будем использовать 5 термов с треугольными функциями принадлежности. Для этого активизируем переменную y с помощью щелчка левой кнопки мыши на блоке y и удалим все функции принадлежности переменной y. Затем в меню Edit выберем команду Add MFs.... В появившимся диалоговом окне выбрать 5 термов в поле Number of MFs. Поссле этого нажать <Enter>
|
|
Задать диапазон изменения переменной y. Для этого напечатать -50 50 в поле Range и нажать <Enter>
По аналогии с предыдущем шагом задать следующие наименования термов переменной y: Низкий, Ниже среднего, Средний, Выше среднего, Высокий. В результате получить изображенное графическое окно изображенное на рисунке
Перейдем в редактор базы знаний RuleEditor. Для этого выбрать в меню Edit команду Edit rules....
На основе визуального наблюдения за графиком, сформулируем следующие девять правил:
если x1=Средний, то y=Средний;
если x1=Низкий и x2=Низкий, то y=Высокий;
если x1=Низкий и x2=Высокий, то y=Высокий;
если x1=Высокий и x2=Высокий, то y=Выше Среднего;
если x1=Высокий и x2=Низкий, то y=Выше Среднего;
если x1=Высокий и x2=Средний, то y=Средний;
если x1=Низкий и x2=Средний, то y=Низкий;
если x1=Высокий и x2=Выше Среднего, то y=Средний;
если x1=Высокий и x2=Ниже Среднего, то y=Средний.
Для ввода правила необходимо выбрать в меню соответствующую комбинацию термов и нажать кнопку Add rule. Число, приведенное в скобках в конце каждого правила представляет собой весовым коэффициент соответствующего правила. По аналогии как показано ниже проделать все 9 правил
Сохранить созданную систему. Для этого в меню File выбрать в подменю Export команду To disk.
Зайти командой View в меню Rules
В поле Input указать значения входных переменных, для которых выполняется логический вывод
Выведем поверхность “входы-выход”, соответствующая синтезированной нечеткой системе. Для вывода этого окна необходимо использовать команду View surface... меню View. Можносделать вывод, что нечеткие правила достаточно хорошо описывают сложную нелинейную зависимость
Задание для лабораторного занятия:
Создать систему нечеткой логики с типа Мамдани, выполнив последовательность алгоритма проектирования систем в FIS-редакторе приклодного программного продукта Matlab
Контрольные вопросы
1. Каковы основные типы систем нечеткой логики?
2. Какова структура систем нечеткой логики типа Мамдани?
3. Что означает желтая и голубая заливка графиков функции принадлежности?
Лабораторная работа № 5
«Построение нечетких систем с помощью ППП FuzzyLogicToolboxcредыMatlab. Проектирование систем типа Сугено»
Цель работы:
1. Ознакомиться с принципами построения нечетких систем с помощью ППП FuzzyLogicToolboxcредыMatlab;
2. Создать систему типа Сугено
Образовательные результаты, заявленные во ФГОС третьего поколения:
Студент должен
уметь:
- выделять составляющие части экспертной системы, их проектировать;
- создавать экспертные системы с помощью четкой и нечеткой логики;
- строить системы нечеткой логики;
- определять лингвистические переменные;
- строить функции принадлежности;
- графически представлять логические операции с нечеткими множествами;
- выполнять логический вывод в системах нечеткой логики.
знать:
- инструментальные средства реализации экспертных систем;
- основные положения нечеткой логики и теории нечетких множеств;
- логические операции с нечеткими множествами;
- технологию реализации нечетких рассуждений;
- основные типы систем нечеткой логики;
- технологию реализации логического вывода в системах нечеткой логики;
- функционирование системы нечеткой логики с фаззификатором и дефаззификатором.
Дата добавления: 2018-06-27; просмотров: 338; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!