logo
МатМод экология / Лабораторные работы

II. Процесс разработки системы

Процесс разработки системы нечеткого вывода в интерактивном режиме для рассматриваемой задачи состоит в выполнении следующей последовательности действий:

  1. Вызвать редактор систем нечеткого вывода FIS, для чего в окне команд набрать имя соответствующей функции fuzzy. После выполнения этой команды на экране появится графический интерфейс редактора FIS с именем системы нечеткого вывода Untitled и типом системы нечеткого вывода (Мамдани), предложенными по умолчанию (Рис. 6.1).

Рис. 6.1

  1. Поскольку в задаче рассматривается система нечеткого вывода с четырьмя входами, необходимо добавить в разрабатываемую систему FIS еще три входные переменные. Для этого следует выполнить команду меню Edit>Add VariabIe... >Input. В результате выполнения этой команды на диаграмме сис­темы нечеткого вывода появится три новых желтых прямоугольника с именем второй, третьей и четвертой входных переменных: input2, input3, input4.

  2. Изменим имена входных и выходных переменных, предложенных системой МАTLAB по умолчанию. Для этого необходимо выделить прямоугольник с именем соответствующей переменной, выполнив щелчок на eгo изображениина диаграмме (стороны выделенного прямоугольника имеют красный цвет). После чего следует набрать новое имя переменной в поле ввода Name в пра­вой части редактора FIS. Результат изменения имен переменных системы нe­четкого вывода изображен на рис. 6.2.

Рис. 6.2

  1. Изменим имя системы нечеткого вывода (Untitled), предложенное по умолча­нию. Для этого сохраним создаваемую структуру FIS во внешнем файле с именем ecogeosystem.fis, выполнив команду меню File>Export>To Disk.... При этом будет вызвано стандартное диалоговое окно сохранения файла, в котором пользователю предлагается ввести имя соответствующего файла (расширение файла приписывается автоматически). Оставим без изменения предложенные системой МАTLAB по умолчанию: метод нечеткого логического И (And method) ­ значение "min", метод нечеткого логического ИЛИ (Or mеthоd) ­значение "mах", метод импликации (Iшрlicаtiоп) ­ значение "min", метод aгрегирования (Aggregation) ­ значение "mах'" и метод дефаззификации (Defuzzification) ­ значение "centroid". Очевидно, эти значения могут быть изменены пользователем.

  2. Теперь необходимо определить термы и их функции принадлежности для входных и выходных переменных нашей системы нечеткого вывода. Для этой цели следует воспользоваться редактором функций принадлежности, кото­рый может быть вызван одним из следующих способов:

- двойным щелчком на значке прямоугольника с именем соответствующей переменной;

- командой меню Edit>Membership Functions... (предварительно должен быть выделен прямоугольник с именем соответствующей переменной);

- нажатием клавиш <Ctrl>+<2> (предварительно также должен быть выдe­лен прямоугольник с именем соответствующей переменной).

После вызова редактора функций принадлежности каждой из переменных по умолчанию предлагается 3 терма с треугольными функции принадлеж­ности.С помощью меню <Edit><Add MFs> добавляем еще один терм принадлежности. Оставим без изменения диапазон определения значений входных переменных, для чего в полях ввода Range и Display Range оставим по умолчанию верхнее значение 1. Аналогично выполняются изменения соответствующих диапазонов для выходной переменной P-snow , P-ground, P-bio.environment, P-ecogeosystem. Изменения подтверждаются нажатием на клавишу <Enter> на клавиатуре. Далее изменим названия термов первой входной переменной " P-air ", предложенные системой MATLAB по умолчанию (mf1, mf2, mfЗ, mf4) на " perfect-state ", " good-state ", " stressed-state ", " bad-state ", соответственно. После чего изменим тип функций принадлежности первой, второй, третьей и четвертой переменной, на функции типа (zmf, pimf, pimf, smf) соответственно, выбрав соответствующий пункт в поле Туре. Параметpы вновь заданных функций принадлежности оставим без изменения. Вид редактора функций принадлежности после внесенных изменений для первой из входных переменных изображен на рис.6.3.Аналоrичным образом изменим названия термов второй, третьей и четвертой входных переменных, а так же выходной переменной.

Рис.6.3

  1. Теперь настала очередь определить правила нечеткоrо вывода для разраба­тываемой экспертной системы. Для этой цели следует воспользоваться peдaктором правил, который может быть вызван одним из следующих способов:

- двойным щелчком на значке квадрата в центре с именем создаваемой сис­темы нечеткого вывода (myfis);

- командой меню Edit>Rules...;

-нажатием клавиш <Ctl'I>+<3>.

Поскольку первоначально база правил нечеткого вывода пуста, то после вы­зова редактора правил центральное многострочное поле ввода не содержит никаких правил. Для их определения следует использовать поля меню и пере­ключатели в нижней части графического интерфейса редактора правил. Для задания первого правила следует оставить выделенные по умолчанию поле с именем терма "perfect state" для первой входной переменной, поле с именем терма "perfect state" для второй входной переменной, "perfect state" –третьей, "perfect state"- для четвертой входной переменной и поле с именем терма "perfect state" для выходной переменной. Далее следует переключатель Connection поставить в положение and (логическое И) и нажать на кнопку Add rule. После этого первое правило с символами кириллицы отобразится в верхнем окне. Аналогичным образом задаются остальные правила. Вид редактора правил после их определения для разрабатываемой экс­пертной системы изображен на рис.5.4. Заметим, что в поле ввода Weigl1t отображается вес каждого правила, кото­рый можно изменять в пределах интервала [0, 1] (оставим без изменения eгo значение по умолчанию, равное 1 для всех правил). Этот же вес правил запи­сывается в круглых скобках в окне правил после каждого из правил нечетко­гo вывода.

Рис.6.4

  1. После задания правил нечеткого вывода оказывается возможным получить результат нечеткого вывода (значение выходной переменной) для конкретных значений входных переменных. С этой целью необходимо открыть програм­му просмотра правил одним из следующих способов:

- командой меню View>Rules редактора FIS;

- командой меню View>Rules редактора функций принадлежности;

-командой меню View>Rules редактора правил;

- нажатием клавиш <Ctrl>+<5>.

После вызова программы просмотра правил для нашей системы нечеткого вывода по умолчанию для входных переменных предложены средние значе­ния из интервала их допустимых значений (значения [0.5 0.5 0.5 0.5 ] в полеввода Input). Это означает, что состояние воздуха, снега, почвы и биосреды соответствует данным коэффициентам. Этим значениям входных переменных соответствует значение состояния экогеосистемы в 10.7, которое отображается выше прямоугольников правил в правой части окна программы просмотра (рис.6.5)

.

Рис.6.5

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

- командой меню View>Surface редактора FIS;

- командой меню View>Surface редактора функций принадлежности;

- командой меню View>Surface редактора правил;

- командой меню View>Surface проrраммы просмотра правил;

-нажатием клавиш <Ctrl>+<6>.rрафический интерфейс npoгpaммы просмотра поверхности нечеткого выво­да для разработанной нечеткой модели изображен на рис.4.6. Эта программа служит для общего анализа адекватности нечеткой модели, позволяя оценить влияние изменения значений входных нечетких переменных назначение одной из выходных нечетких переменных. В случае необходимости можно получить график зависимости выходной переменной от одной из вход­ных переменных. Для этого необходимо выбрать нужную переменную в paскpы­вающемся списке Х (input), а в раскрывающемся списке У (input) выбрать значе­ние ­поля­. Полученный rрафик зависимости изображен на рис.6.7.

Рис.6.6 Рис.6.7

Полученный график зависимости соответствует среднему значению второй входной переменной ("P-air") в 0.5 . Это значение может быть изменено пользователем, для чего следует ввести нужное значение в поле ввода Ref. Input. Заметим, что значение NaN для первой входной переменной соответствует ее изменению во всем интервале определения [0, 1 ]. Заканчивая рассмотрение процесса разработки простейшей системы нечеткого вывода в интерактивном режиме, следует заметить, что наиболее эффективным этот способ оказывается для сложных нечетких моделей с большим числом пе­ременных и правил нечеткого вывода. В этом случае задание переменных и функций принадлежности их термов в графическом режиме, а также визуализа­ция правил позволяют существенно уменьшить трудоемкость разработки нечет­кой модели, снизить количество возможных ошибок и сократить общее время нечеткого моделирования.