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



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

если 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; Мы поможем в написании вашей работы!

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






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