Проектирование нечетких систем в FisPro.Главное окно программы представлено на рис. 1.1. Здесь в поле Name задается имя системы, в полях Input и Output входные и выходные переменные проектируемой системы. Рис. 1.1. Окно программы FisPro Рассмотрим этапы проектирования нечетких систем с помощью программы FisPro на следующем примере. Пример 1. Создать нечеткую систему управления процессом подачи тепла в зависимости от измеренного значения температуры. 1) В самом начале работы необходимо выполнить команды Fis/New и в поле Name задать имя новой системы. Например, «управление подачей тепла». 2) Зададим входные (измеряемые) и выходные (вычисляемые) переменные: для этого нужно выполнить команды Fis, Inputs (Outputs), New inputs (New Outputs), в открывшемся окне задаем имя переменной, например, «Температура», открыв меню Range, указываем диапазон изменения значений этой переменной (рис. 1.2). Рис. 1.2. Диапазон изменения значений переменной «Температура»
После нажатия кнопки Apply, нужно выполнить команду MFs/ New MFs, чтобы задать термы и функции принадлежности переменной. Здесь (рис. 1.3) в поле Name указывается название терма, Type – тип функции принадлежности (trapezoidal –трапецеидальная функция принадлежности, triangular – треугольная и т.д.) Рис. 1.3 Для лингвистической переменной Температура зададим следующие термы в соответствии с табл. 1.1. Таблица 1.1
Окно редактора функций принадлежности для переменной «температура» представлено на рис. 1.4.
Рис. 1.4 Аналогично задаются термы и определяются функции принадлежности для выходной переменной Подача_тепла (рис. 1.5). Исходные данные приведены в табл. 1.2. Таблица 1.2
Рис. 1.5 1.3 Чтобы создать базу правил, нужно сначала сформулировать предложения в форме ЕСЛИ – ТО, куда бы входила введенная нами переменная Температура: ЕСЛИ Температура = очень_низкая То Подача_воды = очень_большая ЕСЛИ Температура =низкая ТО Подача_воды =большая ЕСЛИ Температура = средняя ТО Подача_воды = средняя ЕСЛИ Температура = высокая ТО Подача_воды = малая ЕСЛИ Температура = очень_высокая ТО Подача_воды = очень_малая Чтобы внести эти правила в базу правил необходимо нажать на кнопку Rules в главном окне программы, далее выполнить команду New Rule меню Rules. На рис. 1.6 изображено окно редактора базы знаний после ввода 5 правил.
Рис. 1.6. Окно редактора базы правил
1.4 После того как база правил создана можно приступить к этапу логического вывода, для этого нужно выполнить команду Infer меню FIS в главном окне программы. В левой части окна в графической форме представлены функции принадлежности входной переменной Температура, в правой – выходной переменной Подача_тепла (рис. 1.7). Изменять значения входной переменной можно передвигая бегунок или же задавать числовые значения непосредственно в поле Температура. Рис. 1.7. Логический вывод
1.5 Просмотр поверхности выхода. Для того чтобы перейти к окну просмотра поверхности выхода выполнить команду System Response / Section пункта меню Fis в главном окне. Рис. 1.8. Просмотр поверхности выхода
Пример 2. Построить непрерывную зависимость между двумя наблюдаемыми переменными технологического процесса на основании их дискретных реализаций. Задача заключается в построении нечеткой аппроксимирующей системы, отображающей зависимость между переменными x и y, заданную с помощью табл. 1.3. Таблица 1.3
1. Создать новую нечеткую систему «аппроксимация функции». 2. Назвать входную переменную как x, выходную как y. Задать диапазоны изменения аргумента и значения функции. 3. Перейти в редактор функций принадлежности переменной х. В качестве типа функции принадлежности выбрать – гауссова функция принадлежности, в полях Name и Mean задать исходные значения переменной x из таблицы, в поле standard deviation указывается «отклонение». Задать функции принадлежности для выходной переменной y: тип функций принадлежности – discrete, в поле defuzzification указать sugeno (т.е. дефаззификация выполняется по алгоритму Сугено), в поля Name и Value ввести указанные в таблице значения переменной y. 4. Задать правила нечеткого вывода в редакторе правил. 5. Открыть окно нечеткого вывода. Проверить, как система определяет значения выходной переменной. 6. Посмотреть поверхность выхода.
|