- •050702 – «Автоматизация и управление»
- •Часть 1 Астана– 2011 Введение
- •Лабораторная работа №1 Знакомство с системой matlab
- •1.1. Общая характеристика программы matlab
- •1.2. Запуск системы matlab и элементы ее графического интерфейса
- •1.4. Основные приемы работы в системе matlab
- •Основные приемы работы в окне команд
- •1.5. Графические возможности системы matlab
- •Лабораторная работа №2 Овладение навыками нечеткого моделирования в среде matlab
- •2.1 Процесс разработки системы нечеткого вывода
- •2.2 Редактор систем нечеткого вывода fis
- •2.3 Редактор функций принадлежности
- •2.4 Редактор правил системы нечеткого вывода
- •Программа просмотра правил системы нечеткого вывода
- •Программа просмотра поверхности системы нечеткого вывода
- •Лабораторная работа №3 Овладение навыками разработки системы нечеткого вывода в интерактивном режиме
- •Лабораторная работа №4 Исследование нечеткой модели управления смесителем воды
- •4.1 Содержательная постановка задачи
- •4.2. Построение базы нечетких лингвистических правил
- •4.3. Фаззификация входных переменных
- •Лабораторная работа №5 Исследование нечеткой модели управления кондиционером воздуха в помещении
- •5.1. Содержательная постановка задачи
- •5.2. Построение базы нечетких лингвистических правил
- •5.3. Порядок выполнения работы
- •Лабораторная работа №6 Разработка и исследование нечеткой модели управления контейнерным краном
- •6.1. Содержательная постановка задачи
- •6.2. Формирование базы правил систем нечеткого вывода
- •Лабораторная работа №7 Разработка нечеткой модели оценивания финансовой состоятельности клиентов со стороны банков
- •7.1. Содержательная постановка задачи оценивания
- •7.2. Описание входных и выходных переменных
- •7.3. Нечеткая модель оценивания финансовой
- •Фаззификация входных и выходных переменных
- •Формирование базы правил систем нечеткого вывода
2.1 Процесс разработки системы нечеткого вывода
Для разработки и дальнейшего применения систем нечеткого вывода в интерактивном режиме могут быть использованы следующие графические средства, входящие в состав пакета Fuzzy Logic Toolbox:
- редактор систем нечеткого вывода FIS (FIS Editor) или сокращенно – редактор FIS;
- редактор функций принадлежности системы нечеткого вывода (Membership Function Editor) – редактор функций принадлежности;
- редактор правил системы нечеткого вывода (Rule Editor) – редактор правил;
- программа просмотра правил системы нечеткого вывода (Rule Viewer) – просмотрщик правил вывода;
- программа просмотра поверхности системы нечеткого вывода (Surface Viewer) – просмотрщик поверхности вывода.
Кроме этих графических средств в состав пакета Fuzzy Logic Toolbox также входят следующие специальные программы:
- редактор адаптивных систем нейро-нечеткого вывода (Adaptive Neuro-Fuzzy Inference System Editor) – редактор гибридных сетей или редактор ANFIS;
- программа нечеткой кластеризации методом нечетких с-средних (fuzzy c-means clustering).
В таблице 1 представлены функции MATLAB, которые могут быть использованы для вызова соответствующих графических средств. Особенности работы с редактором гибридных сетей ANFIS и с программой нечеткой кластеризации в данной работе не рассматриваются.
Таблица 1
Функции графического интерфейса пользователя
-
Функция
Назначение
anFISedit
Редактор гибридных сетей ANFIS
indcluster
Программа нечеткой кластеризации
fuzzy
Редактор системы нечеткого вывода FIS
mfedit
Редактор функций принадлежности
Ruleedit
Редактор правил нечеткого вывода
Ruleview
Программа просмотра правил и диаграммы нечеткого вывода
Surfview
Программа просмотра поверхности нечеткого вывода
Рассмотрим особенности каждого из графических средств, которые следует использовать для разработки и исследования систем нечеткого вывода в среде MATLAB.
2.2 Редактор систем нечеткого вывода fis
Редактор систем (рис. 2.1) нечеткого вывода FIS (или просто редактор FIS) является основным средством, которое используется для создания или редактирования систем нечеткого вывода в графическом режиме. Редактор FIS может быть открыт с помощью ввода функции fuzzy или fuzzy ('FISmat') в окне команд. Эта функция предоставляет пользователю возможность задавать и редактировать на высоком уровне свойства системы нечеткого вывода, такие как число входных и выходных переменных, тип системы нечеткого вывода, метод дефаззификации и т. д.
Если функция fuzzy вызывается без аргументов, то редактор FIS вызывается для вновь создаваемой системы нечеткого вывода с именем Untitled по умолчанию (Рис. 2.1). При этом по умолчанию также задается целый ряд параметров, таких как тип системы нечеткого вывода (Мамдани), нечеткие логические операции, методы импликации, агрегирования и дефаззификации и некоторые другие. Пользователь может согласиться с этими значениями или изменить их.
Если функция fuzzy вызывается с аргументом в форме fuzzy ('FISmat'), где FISmat – имя внешнего файла с расширением FIS с уже разработанной системой нечеткого вывода, то редактор вызывается с уже загруженной системой FIS с именем FISmat (Рис. 2.2).
Рисунок 2.1. Графический интерфейс редактора FIS, вызываемый функцией fuzzy.
Редактор FIS обладает графическим интерфейсом и позволяет вызывать все другие редакторы и программы просмотра систем нечеткого вывода. Графический интерфейс этого редактора обладает максимальным удобством и гибкостью, необходимой для интерактивной работы с отдельными компонентами системы нечеткого вывода.
При этом следует помнить, что файлы с расширением m, dat, FIS являются обычными текстовыми файлами, которые можно просматривать и редактировать в любом ASCII-редакторе. Однако более удобным для этой цели является встроенный редактор системы MATLAB, так называемый редактор-отладчик m-файлов. Этот редактор открывается после двойного щелчка на имени любого m-файла, при этом в него оказывается загруженным выбранный файл.
Рисунок 2.2. Графический интерфейс редактора FIS, вызываемый
функцией fuzzy ('tipper').
В состав системы MATLAB входит встроенная справочная система и обширная документация в форматах HTML и PDF, которые содержат необходимую информацию по системе в целом, ее отдельным функциям и многочисленным пакетам расширения.
Двойной щелчок на прямоугольнике с изображением входной или выходной переменной вызывает редактор функций принадлежности с загруженной в него соответствующей переменной. Двойной щелчок на изображении процессора нечетких правил вызывает редактор правил для соответствующей системы нечеткого вывода. Если некоторая переменная существует в системе нечеткого вывода, но не используется в правилах вывода, то связь ее с процессором нечетких правил изображается не сплошной, а пунктирной линией.
Редактор FIS имеет главное меню, которое позволяет пользователю вызывать другие графические средства работы с системой нечеткого вывода FIS, загружать и сохранять структуру FIS во внешних файлах и т. д. Рассмотрим назначение пунктов меню редактора FIS.
Пункт меню File (Файл) редактора FIS содержит следующие операции:
• New FIS... – позволяет выбрать тип задаваемой новой системы нечеткого вывода:
Mamdani – типа Мамдани или Sugeno – типа Сугено. При этом задаваемая система
нечеткого вывода не имеет ни входных, ни выходных переменных, а ее имя задается по умолчанию как Unfilled;
• Import – позволяет загрузить в редактор FIS существующую систему нечеткого
вывода одним из следующих способов: From Workspace... – из рабочего
пространства программы MATLAB или From Disk... – из внешнего файла. В
последнем случае вызывается стандартное диалоговое окно открытия внешнего файла с диска;
• Export – позволяет сохранить редактируемую систему нечеткого вывода одним из
следующих способов: То Workspace... – в рабочем пространстве программы
MATLAB или То Disk... – во внешнем файле. В последнем случае вызывается
стандартное диалоговое окно сохранения файла на
• Print – позволяет распечатать на принтере редактируемую систему нечеткого
вывода. В этом случае вызывается стандартное диалоговое окно настройки свойств печати на подключенном к данному компьютеру принтере;
• Close – закрывает редактор FIS, при этом вызывается диалоговое окно с предложениями сохранить или отказаться от сохранения редактируемой системы нечеткого вывода.
Пункт меню Edit (Редактирование) содержит следующие операции:
• Undo – отменяет выполнение последнего действия;
• Add Variable... – позволяет добавить в редактируемую систему нечеткого вывода переменную одного из следующих типов: Input – входную переменную или Output – выходную переменную;
• Remove Selected Variable – удаляет выбранную переменную из редактируемой системы нечеткого вывода;
• Membership Functions... – вызывает редактор функций принадлежности;
• Rules – вызывает редактор правил нечеткого вывода.
Пункт меню View (Вид) содержит следующие операции:
• Rules – вызывает программу просмотра правил нечеткого вывода;
• Surface – вызывает программу просмотра поверхности нечеткого вывода.
В левой нижней части рабочего интерфейса редактора FIS имеется 5 всплывающих меню:
And method (Метод логической конъюнкции) – позволяет задать один из следующих методов для выполнения логической конъюнкции в условиях нечетких правил:
• min – метод минимального значения;
• prod – метод алгебраического произведения;
• Custom – метод, определенный пользователем.
Or method (Метод логической дизъюнкции) – позволяет задать один из следующих методов для выполнения логической дизъюнкции в условиях нечетких правил:
• max – метод максимального значения;
• probor – метод алгебраической суммы;
• Custom – метод, определенный пользователем.
Implication method (Метод вывода заключения) – позволяет задать один из следующих методов для выполнения (активизации) логического заключения в каждом из нечетких правил:
• min – метод минимального значения;
• prod – метод алгебраического произведения;
• Custom – метод, определенный пользователем. Это меню не используется для систем нечеткого вывода типа Сугено.
Aggregation method (Метод агрегирования) – позволяет задать один из следующих методов для агрегирования значений функции принадлежности каждой из выходных переменных в заключениях нечетких правил:
• max – метод максимального значения;
• sum – метод граничной суммы;
• probor – метод алгебраической суммы.
• Custom – метод, определенный пользователем. Это меню не используется для систем нечеткого вывода типа Сугено.
Defuzzification method (Метод дефаззификации) – позволяет задать один из следующих методов для выполнения дефаззификации выходных переменных в системе нечеткого вывода типа Мамдани:
• centroid – метод центра тяжести для дискретного множества значений функции принадлежности;
• bisector – метод центра площади;
• mom (middle of maximum) – метод среднего максимума, определяемый как
среднее арифметическое левого и правого модальных значений;
• som (smallest of maximum) – метод наименьшего (левого) модального значения;
• lorn (largest of maximum) – метод наибольшего (правого) модального значения;
• Custom – метод, определенный самим пользователем. Для систем нечеткого вывода типа Сугено можно выбрать один из следующих методов дефаззификации:
• wtaver (weighted average) – метод взвешенного среднего;
• wtsum (weighted sum) – метод взвешенной суммы.
В правом нижнем углу находятся кнопка вызова встроенной справочной системы MATLAB (Help) и кнопка закрытия редактора FIS (Close).
