Лабораторная работа № 9. Моделирование нечеткой системы средствами инструментария нечеткой логики

  • doc
  • 13.05.2020
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 7. ЛР № 9. Моделирование нечеткой системы средствами инструментария нечеткой логики.doc

Лабораторная работа № 9. Моделирование нечеткой системы средствами инструментария нечеткой логики

 

Цель работы

Изучить методы построения нечетких систем в задачах математического моделирования и принятия решений с использованием инструментария нечеткой логики программной среды MATLAB.

 

Основные теоретические положения

Приведем описание графического инструментария разработки нечетких систем в среде MATLAB. Для реализации процесса нечеткого моделирования        в среде MATLAB предна­значен специальный пакет расширения Fuzzy Logic Toolbox. В рамках этого па­кета пользователь может выпол­нять необходимые действия по разработке и использованию НС в интерактивном режиме с помощью графических средств редактирования и визуализации всех компонентов систем нечеткого вывода, а также в режиме команд с помощью ввода имен соответствующих функций с необхо­димыми аргументами.

Для разработки и дальнейшего применения НС в интерак­тивном режиме используются следующие графические средства, вхо­дящие в состав пакета Fuzzy Logic Toolbox: редактор систем нечеткого вывода FIS (FIS Editor); редактор функций принадлежности системы нечеткого вывода (Membership Function Editor); редактор правил системы нечеткого вывода (Rule Editor); программа просмотра правил системы нечеткого вывода (Rule Viewer); программа просмотра поверхности нечеткого вывода (Surface Viewer).

Редактор системы нечеткого вывода (или иначе FIS-редактор) является основным средством, которое используется для создания и редактирования систем нечеткого вывода в графическом режиме. Он позволяет создавать структуру  проектируемой НС на уровне входных и выходных переменных. Кроме того, FIS-редактор предоставляет пользователю возможность задавать и редактировать такие свойства НС, как тип НС, тип используемых нечеткологических операций, используемые методы агрегирования и приведения к четкости (дефаззификации).

FIS-редактор открывается с помощью ввода функции fuzzy (‘name’) в окне команд. Если функция fuzzy вызывается без аргументов, то FIS-редактор вызывается для вновь создаваемой системы нечеткого вывода с именем Untitled по умолча­нию. При этом по умолчанию задаются остальные параметры НС,           а именно: тип системы нечеткого вывода – Мамдани; тип операции нечеткой конъюнкции min; нечеткой дизъюнкции – max; нечеткой импликации – min; метод агрегирования – max; метод дефаззификации – centroid.

FIS-редактор имеет удобный графический интерфейс и главное меню, которое позволяет пользователю вызывать другие графические средства работы   с системой нечеткого вывода, загру­жать и сохранять структуру FIS во внешних файлах и т. д. Назначение основных пунктов главного меню FIS-редактора является общепринятым для приложений Windows.

Пункт меню File FIS-редактора содержит следующие операции:

New FIS... – выбирает тип задаваемой новой системы нечеткого вывода: Mamdani – типа Мамдани или Sugeno – типа Сугено. При этом задаваемая система нечеткого вывода не имеет ни входных, ни выходных переменных, а ее имя задается по умолчанию как Untitled;

Import – загружает в FIS-редактор существующую систему не­четкого вывода одним из следующих способов: From Workspace... – из рабочего пространства программы MATLAB или From Disk... – из внеш­него файла. В последнем случае вызывается стандартное диалоговое окно открытия внешнего файла с диска;

Export – сохраняет редактируемую систему нечеткого вывода одним из следующих способов: То Workspace... – в рабочем пространстве программы MATLAB или То Disk... – во внешнем файле. В последнем случае вызывается стандартное диалоговое окно сохранения файла на диске;

Print – позволяет распечатать на принтере редактируемую систему нечетко­го вывода.

Close – закрывает F1S-редактор.

Пункт меню Edit содержит следующие операции:

Undo – отменяет выполнение последнего действия;

Add Variable... – добавляет в редактируемую систему нечеткого вывода переменную одного из следующих типов: Input – входную пере­менную или Output – выходную переменную;

Remove Selected Variable – удаляет выбранную переменную из редакти­руемой системы нечеткого вывода;

Membership Functions... – вызывает редактор функций принадлежности;

Rules – вызывает редактор правил нечеткого вывода.

Пункт меню View содержит следующие операции:

Rules  – вызывает программу просмотра правил нечеткого вывода;

Surface – вызывает программу просмотра поверхности нечеткого вывода.

В нижней части рабочего интерфейса редактора FIS имеется пять всплывающих меню, служащих для задания основных параметров НС, таких как тип используемой системы нечеткого вывода, типы используемых нечетких операций, метод агрегирования и метод дефаззификации.

Редактор функций принадлежности (MF-редактор) предназначен для задания и редактирования ФП отдельных термов НС, ассоциированных с каждой из ее переменных. MF-редактор открывается с помощью главного меню FIS-редактора командой Edit>Membership Functions.

MF-редактор позволяет пользователю в графическом режиме анализировать и моди­фицировать все ФП нечеткой структуры FIS. Имеющийся в редакторе список типов ФП позволяет выбрать одну из одиннадцати встроенных ФП. Используя соответствующие поля ввода, можно изменить имена термов выбранной переменной в поле ввода Name, модифицировать параметры встроенных ФП в поле ввода Params. Изменить вид ФП можно также с помощью мыши. Для этого следует выделить изменяемую ФП на графике (она будет изображена красным цветом) и, не отпуская нажатую левую кнопку мыши, перемещать маркер в нужную сторону. При этом будут изменяться график соот­ветствующей ФП и ее параметры.

MF-редактор имеет главное меню, которое позволяет пользователю вызывать другие графические средства работы с систе­мой нечеткого вывода FIS, загружать и сохранять структуру FIS во внешних файлах и т. д.

Редактор правил вывода применяется для ввода и редактирования списка правил, которые определяют поведение проектируе­мой нечеткой системы.

Для использования редактора правил необходимо предварительно определить все входные и выходные переменные с использованием FIS-редактора и MF-редактора. Редактор правил открывается с помощью главного меню FIS-редактора командой Edit>Rules

Средство просмотра правил вывода используется в целях диагностики и для визуализации результатов нечеткого вывода. Программа просмотра правил не позволяет редактировать правила и ФП нечетких термов, а используется после разработки системы нечеткого вывода на этапе ее анализа и отладки. Программу также целесообразно использовать в том случае, когда необходимо визуально представить весь про­цесс нечеткого вывода от начала до конца. При этом пользователь имеет воз­можность оценить значения выходных переменных нечеткой модели и влияние каждого из правил на результат нечеткого вывода посредством изменения зна­чений входных переменных.

Графи­ческий интерфейс программы просмотра правил может быть открыт с помощью главного меню FIS-редактора, MF-редактора или редактора правил командой меню View>Rules.

Средство просмотра поверхности вывода реализовано в системе MATLAB в виде программы вывода и используется для отображения зависимости выхода разработанной нечеткой системы от ее входов.

Программа просмотра поверхности системы нечеткого вывода позволяет просматривать поверхность системы нечеткого вывода и визуализировать графики зависимости выходных переменных от отдельных входных переменных. Графический интерфейс программы просмотра правил может быть открыт        с помощью главного меню FIS-редактора, MF-редактора или редактора правил командой меню View>Surface. По этой команде запускается программа просмотра поверхности, которая изображает поверхность нечеткого вывода для структуры FIS, находящейся в рабочей области MATLAB.

 

Этапы разработки нечеткой системы в интерактивном режиме

Процесс создания НС сводится к следующим этапам.

Этап 1. Разработка структуры НС. В командной строке ос­новного окна MATLAB необходимо набрать команду fuzzy, которая вызывает FIS-редактор, после чего в окне редактора появится структура вновь создаваемой НС        (рис. 1), содержащей одну входную, обозначенную input1, и одну выходную – output1 переменные. По умолчанию FIS-редактор предлагает НС типа Мамдани, тип операции нечеткой конъюнкции min, нечеткой дизъюнкции – max, нечеткой импликации – min, метод агрегирования – max, метод дефаззификации – centroid.

 

Рис. 1. Графический интерфейс FIS-редактора

 

Добавление в НС новой переменной осуществляется из главного меню FIS-редактора командой Edit>Add Variable>Input – для входной переменной     и командой Edit>Add Variable>Output для выходной. Наименование переменных или изменение их наименований осуществляется в окне редактора путем выделения соответствующих переменных щелчком мыши и записи имени переменной в поле Name. Окна FIS-редактора. Удаление переменной из НС осуществляется путем выделения соответствующей переменной щелчком мыши         и выполнения команды. Edit>Remove Selected Variable.

Сохранение проектируемой системы на диске производится из главного меню FIS-редактора командой File/ Save to disk as...

Этап 2. Задание ФП нечетких термов. На данном этапе производится назначение всем нечетким термам, входящим в описание продукционных правил НС, соответствующих ФП. Данная опе­рация начинается с вызова MF-редактора из окна FIS-редактора путем выделения соответствующей переменной (двойным щелчком мыши на изображении переменной) и последующим выполнении команды Edit>Membership Functions. Добавление нечеткого терма осуществляется из окна MF-редактора командой Edit>Add MFs…. По этой команде в поле окна MF-редактора появляется дополнительное  окно, в котором проставляются номер и параметры добавляемой ФП.

Назначение и модификация параметров ФП осуществляется следующим образом. В поле переменных FIS Variables окна MF-редактора щелчком мыши выделяется квадрат соответствующей переменной, затем также щелчком мыши выделяется модифицируемая ФП. Далее в поле Name указывается название переменной, в поле Type выбирается один из 11 встроенных типов ФП, а в поле Params заносятся параметры ФП. Изменить вид ФП можно также с помощью мыши. Для этого следует щелчком мыши выделить график изменяемой ФП и, не отпуская нажатую левую кнопку мыши, перемещать маркер в нужную сторону. При этом будут изменяться график соот­ветствующей ФП и ее параметры.

Удаление нечеткого терма осуществляется из окна MF-редактора путем выделения щелчком мыши графика соответствующей  ФП и последующего выполнения команды Edit>Remove Selected MF.

Этап 3. Задание базы нечетких правил. Задание нечетких правил начинается с вызова редактора нечетких правил. Это можно сделать непосредственно из главного меню FIS-редактора путем выполнения команды  Edit>Rules...  Редактор правил формирует структуру правил автоматически, основываясь на описаниях входных и выходных перемен­ных, определенных в MF-редакторе. Для задания правил пользовате­лю необходимо связать значения входных и выходных пе­ременных и опреде­лить логические связки между ними. Для этого     в поле ввода в средней части графического интерфейса редактора правил необходимо выделить имена термов, входящих в описание предусловия правила      и имя терма выходной переменной, входящего в заключение правила. Если некоторый терм не входит в правило, то для него следует выбрать значение «none». Если в условии правила используется логическое отрицание некоторого терма, то для этого терма следует отметить соответствующий флажок с меткой «not» («выставить галочку»). Далее кнопкой (Add rule), находящейся в нижней части графического интерфейса, осуществляется добавление созданного правила в базу правил НС. Для исключения правила из НС или его изменения используются соответственно кнопки (Delete rule) или (Change rule).

Этап 4 Отладка нечеткой системы и просмотр поверхности вывода. На данном этапе осуществляется проверка правильности работы созданной НС. Для этого на вход системы подаются некоторые контрольные значения входных переменных, для которых заранее известны значения, которые должны быть получены на выходе НС. Далее производится сравнение контрольных значений с выходными значениями, сгенерированными НС. В случае существенной разницы осуществляется корректировка параметров НС. Для этого используются средства просмотра работы правил, позволяющие визуализировать процесс нечеткого вывода и определить, каким образом НС реагирует на те или иные изменения значений входных переменных в процессе вывода.

Графи­ческий интерфейс программы просмотра правил открывается с помощью главного меню FIS-редактора командой View>Rules (рис. 2).

 

 

Рис. 2. Окно графического интерфейса просмотра правил

 

В центральной части графического интерфейса расположены прямоугольники, соответствующие отдельным входным перемен­ным (ФП желтого цвета) и выходным переменным (ФП синего цвета) правил нечеткого вывода. При этом каждому правилу соответствует отдельная строка из этих прямоугольников. В правой нижней части графического интерфейса расположен прямоугольник, изображающий дефаззификацию выходной переменной после аккумулирования всех заключений правил нечеткого вывода. Дефаззифицированное значение указывается в верхней части столбца с именем этой выходной переменной. Прямоугольники входных переменных пересекает вертикальная прямая красно­го цвета, положение которой соответствует конкретному значению входной переменной. Задать эти значения можно либо с помощью их записи в поле ввода Input, либо с помощью мыши, перемещая вертикальные прямые в нужном направлении. Полученные после изменения значения входных переменных непосредственно отображаются в верхней части прямоугольников после имени входных переменных и в поле ввода Input графического интерфейса правил. НС сразу реагирует на каждое изменение значений входных переменных выполнением процедуры нечеткого вывода с последующим отображением результатов вывода.

Для НС, содержащих небольшое число входных переменных, эффективным средством отладки является программа просмотра поверхности нечеткого вывода. Она позволяет для любых двух входных переменных НС просматривать непосредственно всю поверхность системы нечеткого вывода и визуализировать графики зависимости выходных переменных от входных. Графический интерфейс программы открывается из главного меню FIS-редактора командой меню View>Surface (рис. 3).

 

 

Рис. 3. Графический интерфейс программы просмотра поверхности

 нечеткого вывода

 

Программа просмотра поверхности вывода имеет главное меню, используя которое можно выбрать входные переменные и соответствующие им горизонтальные оси системы координат (X и Y), а также выходную переменную, которой соответствует вертикальная ось системы координат (Z). Щелкнув             и удерживая левую кнопку мыши на осях графика поверхности, посредством последующего перемещения курсора мыши в том или ином направлении, можно изменить угол просмотра поверхности вывода. Если рассматривается система нечеткого вывода с более чем двумя входными переменными, то для невизуализируемых входных переменных следует задать некоторые постоянные значения (константы).

 

Пример разработки НС

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

 Длина свободного пробега отцепа, скатывающегося с горки, зависит      от многих факторов, основными из которых являются ходовые свойства отцепа и его начальная скорость. Задача заключается в разработке НС, позволяющей для любых конкретных значениях начальной скорости отцепа и оценки его ходовых свойств определить длину свободного пробега.

Начальная скорость отцепа может находиться в пределах от 2 м/с до 5м/с.  Ходовые свойства отцепа оцениваются по 10-балльной порядковой шкале, в которой цифра 10 является наилучшей оценкой ходовых свойств (характерной для хороших «бегунов»), а цифра 0 – наихудшей (характерной для плохих «бегунов»). Длина свободного пробега находится в пределах от 10 м до 300 м и определяется расстоянием, которое пройдет отцеп до полной его остановки или снижения скорости до значения, находящегося ниже некоторого заданного предела.

Этап 1. Командой fuzzy запускаем FIS-редактор и формируем структуру системы, содержащую две входных переменных  «Speed» (Скорость) и «Quality» (Ходовые свойства) и одну выходную «Distance» (Длина пробега). Все остальные параметры структуры НС задаются по умолчанию FIS-редактором,      а именно:  метод логической конъюнкции – min; метод логической дизъюнкции – max; метод вывода заключения – min;  метод агрегирования – max; метод дефаззификации – centroid. Ниже на рисунке 4.5 приведено окно графического интерфейса FIS-редактора, в котором отображается структура разрабатываемой НС.

Этап 2.  Всем трем переменным, участвующим в описании НС, производим назначение нечетких термов вместе с соотвествующими ФП. Для входной переменной «Speed» назначаем три нечетких терма «Small» (Малое), «Middle» (Среднее) и «Big» (Большое), заданных на базовой шкале скоростей [2.0; 5.0] м/c при помощи треугольных ФП, как показано на рисунке 5.

 

Рис. 4. Структура НС, прогнозирующей длину свободного пробега

 

Для входной переменной «Quality» назначаем три нечетких терма  «Good» (Хороший), «Normal» (Нормальный) и «Bad»(Плохой), заданных на 10-балльной шкале экспертных оценок [0; 10] при помощи гауссовых ФП, как показано на рисунке 6.

Для выходной переменной «Distance» назначаем четыре нечетких терма «Small» (Малая), «Middle» (Средняя), «Big» (Большая) и «Very big» (Очень большая), заданных на базовой шкале расстояний [10; 300] м при помощи треугольных ФП, как показано на рисунке 7.

Параметры ФП всех нечетких термов подобраны таким образом, чтобы ФП как можно более равномерно были размещены вдоль соответствующих базовых шкал.

Этап 3. На данном этапе для вновь создаваемой НС разрабатывается база нечетких правил. Эти правила должны отражать представления экспертов         о том, как зависит длина свободного пробега отцепа, скатывающегося с горки, от значений факторов, влияющих на эту длину. Причем эта зависимость должна быть выражена на качественном уровне с использованием нечетких термов «Малое расстояние», «Большая скорость», «Хороший бегун» и т.п.

Рис. 5. ФП нечетких термов для входной переменной «Скорость»

 

 

 

Рис. 6. ФП нечетких термов для входной переменной «Ходовые свойства»

 

 

Рис. 7. ФП нечетких термов для выходной переменной «Длина пробега»

 

Элементарные законы физики диктуют следующее очевидное общее правило, которое может быть положено в основу построения нечетких правил – чем выше скорость отцепа и лучше его ходовые свойства, тем большее расстояние он пройдет в свободном скатывании. Исходя из этого принципа, база правил может иметь вид, показанный на рисунке 8.

 

 

Рис. 8. База нечетких правил разрабатываемой НС

 

Этап 4. Поскольку разрабатываемая НС содержит не более двух входных переменных, в качестве средства отладки имеет смысл использовать программу просмотра поверхности вывода. Запускаем соответствующую программу из главного меню FIS-редактора командой View>Surface. Поверхность вывода для разрабатываемой НС приведена на рисунке 9.

Анализ поверхности вывода позволяет сделать заключение о том, что генерируемая НС зависимость выходной величины от входных вполне соответствует представлениям эксперта о характере этой зависимости. Это позволяет сделать вывод об адекватности разработанной НС реальному процессу скатывания отцепов.

 

 

Рис. 9. Поверхность нечеткого вывода разрабатываемой НС

 

Задание

Лабораторная работа включает три задания, связанные с разработкой нечетких экспертных систем на железнодорожном транспорте.

Задание 1. Данное задание связано с задачей, рассмотренной в предыдущем примере. Речь идет о разработке нечеткой экспертной системы, имитирующей процесс оценки ходовых свойств отцепа в зависимости от некоторых его объективных характеристик.

Требуется разработать НС, способную по конкретным значениям массы отцепа и температуры окружающей среды давать оценку ходовым свойствам отцепа.

Входными переменными разрабатываемой НС являются масса отцепа      и температура окружающей среды, а выходной – оценка ходовых свойств отцепа. Масса отцепа принимает значения в диапазоне [30 – 250] т, а температура окружающей среды может находится в пределах от -30 °С до +30 °С.  Ходовые свойства отцепа оцениваются по 10-балльной числовой шкале, на которой цифра 0 характеризует отцеп, обладающий наихудшими ходовыми свойствами,       а цифра 10 – наилучшими.

Ходовые свойства отцепа описываются в НС термами «Хороший бегун», «Нормальный бегун», «Плохой бегун». Для оценки входных переменных используются нечеткие термы «Малая масса», «Большая масса», «Низкая температура», «Не низкая температура».

В основу разработки базы нечетких правил НС следует положить известный физический закон – чем выше масса отцепа и выше температура окружающей среды, тем лучшими ходовыми свойствами обладает отцеп и наоборот.

Задание 2. Данное задание связано с разработкой нечеткой экспертной подсистемы для интегрированной системы технического контроля и диагностики средств ЖАТ.

Требуется разработать НС, способную имитировать процесс оценки технического состояния электропривода в зависимости от таких объективных показателей его работы, как время перевода стрелки и среднее значение тока, потребляемого приводом в процессе перевода стрелки.

Таким образом, входными переменными разрабатываемой НС являются время перевода стрелки и ток перевода, а выходной – оценка технического состояния электропривода.

Время перевода стрелки может находиться в пределах от 1 до 6 с, ток перевода находится в пределах от 1 А до 5 А. Оценка технического состояния СП задается на единичном интервале [0, 1] так, что цифра 0 характеризует СП         в плохом техническом состоянии, цифра 1 – абсолютно работоспособное устройство. Все промежуточные оценки между 0 и 1 характеризуют ту или иную степень работоспособности электропривода.

В основу базы знаний разрабатываемой НС следует положить одно из правил, используемых электромеханиками при оценке технического состояния электроприводов. Техническое состояние СП считается нормальным, если ток перевода примерно равен 1,8 А, а время перевода – 2,2 с. При отклонении контролируемых показателей от названных значений оценка технического состояния СП снижается и тем сильнее, чем больший ток потребляет СП или большим становится время перевода стрелки.

В качестве нечетких термов для входных переменных НС следует использовать выражения «Примерно равен», «Незначительно меньше», «Существенно превышает». В качестве нечетких термов для оценки технического состояния СП следует использовать такие выражения, как «Нормальное», «Удовлетворительное», «Неисправное».

Задание 3. Данное задание связано с разработкой экспертной системы определения сроков технического обслуживания напольного оборудования.

Требуется разработать НС, способную давать рекомендации персоналу  по срокам проведения технического обслуживания (ТО) устройств ЖАТ.

Срок очередного ТО зависит от технического состояния устройства,         а также времени, прошедшего с момента проведения последнего ТО. Таким образом, входными переменными разрабатываемой НС являются оценка технического состояния устройства ЖАТ, а также сроки последнего ТО. Выходной переменной НС является рекомендуемый срок проведения очередного ТО.

Входная переменная «Оценка технического состояния» задана с использованием нечетких термов «Плохое», «Удовлетворительное», «Хорошее» на единичном интервале [0, 1] так, что цифра 0 характеризует наихудшее техническое состояние, а цифра 1 – наилучшее. Входная переменная «Срок последнего ТО» и выходная переменная «Срок очередного ТО» заданы на количественной временной шкале, измеряемой числом дней, с использованием таких нечетких термов, как, например, «Немедленно», «Малый срок», «Отсроченное ТО» и т.п.

При разработке базы нечетких правил следует исходить из тех естественных соображений, что сроки очередного ТО тем меньше, чем хуже техническое состояние устройства и чем больше времени прошло с момента последнего обслуживания устройства.

 


Скачано с www.znanio.ru