Лекция: Редактор СНВ. Построение нечетких систем по Мамдани.

 

1. Тема лабораторной работы.

2. Цель лабораторной работы.

3. Индивидуальное задание.

4. Результаты выполнения пунктов 1 — 8 индивидуального задания.

5. Выводы по работе.

 

Редактор СНВ. Построение нечетких систем по Мамдани.

Для построения создаваемой системы в командной строке основного окна Matlab необходимо набрать команду fuzzy. Окно редактора новой СНВ содержит входную, обозначенную input1 и выходную — output1 переменные. По умолчанию ИНЛ предлагает создавать СНВ типа Мамдани.

Для того чтобы добавить новую переменную, необходимо выбрать в меню Edit соответствующий пункт (для входной переменной – Add input, для выходной – Add output). Изменение наименования переменной происходит по шагам.

Шаг 1. Отмечается переменная, которую необходимо переименовать.

Шаг 2.В поле редактирования изменяется наименование переменной по умолчанию на имя, предложенное пользователем.

Сохранение проектируемой системы в рабочее пространство среды MATLAB (в переменную) производится с помощью пункта меню File Save to workspace as...В этом случае данные сохраняются до окончания сеанса работы с Matlab. Для сохранения данных на диске после окончания сеанса работы применяется соответствующий пункт того же меню – Save to disk as...

Редактор ФП. Следующим шагом в построении нечеткой модели средствами ИНЛ является ассоциирование набора ФП с каждой входной и выходной переменной. Данная операция производится в редакторе ФП тремя способами, активизировать который можно:

· выбором в меню Viewпункта Edit Membership Functions...;

· двойным щелчком мыши на изображении соответствующей переменной (входной или выходной);

· набором в командной строке оператора mfedit.

С помощью редактора ФП можно отображать и редактировать любые ФП, ассоциированные (связанные) со всеми входными и выходными переменными разрабатываемой СНВ.

Связывание ФП с именем переменной происходит следующим образом:

· выбирается переменная по имени из набора графических объектов окна редактора ФП;

· указывается диапазон изменения значений для базовой и видимый диапазон для текущей переменных;

· в меню Edit выбирается пункт Add MFs...В появившемся окне выбирают вид ФП и их количество.

Редактируют ФП текущей переменной двумя способами: используя графическое окно ФП или изменяя характеристики ФП (наименование, тип и числовые параметры). При выборе необходимой ФП в графическом окне допускается плавное изменение кривой с помощью мыши.

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

Редактор правил вывода.После того как указано количество входных и выходных переменных, определены их наименования и построены соответствующие ФП, в СНВ необходимо включить правила вывода. Для этого в меню View выбирается пункт Edit Rules… или в командной строке Matlab набирается команда ruleedit.

Основываясь на описаниях входных и выходных переменных, определенных в редакторе ФП, редактор правил вывода формирует структуру правила автоматически. От пользователя требуется лишь связать значения входных и выходных переменных, выбирая из списка заданных ранее ФП и определить логические связки между ними. Также допускается использование логического отрицания (НЕ) и изменение весов правил в диапазоне от 0 до 1.

Правила вывода могут отображаться в окне в различных форматах, которые определяются путем выбора соответствующего пункта подменю Format меню Options. По умолчанию используется расширенный формат отображения правил вывода (verbose form):

If (input_1 is[not] mf_1j1) <and, or>...(input_i is[not] mf_iji)...<and,or>

(input_n is[not] mf__njn) then

(output_1 is[not] mf_n + 1jn+1) <and, or>...

(output_k is[not] mf_k + njk+n) <and, or>… (output_m is[not] mf_m + njm+n) (w),

где i – номер входной переменной;

ji – номер ФП i-й переменной;

k – номер выходной переменной;

n – количество входных переменных;

т –количество выходных переменных;

w – вес правила.

(Круглые скобки заключают в себе обязательные параметры, квадратные – необязательные, а угловые – альтернативные параметры (один на выбор)).

Кроме формата по умолчанию, существуют еще два вида форматов отображения правил: символьный (symbolic form) и индексный (indexed form). Символьный формат имеет следующий вид:

(input_1<~=,==>mf_1j1)<&, | >...

(input_i<~=,==>mf_iji)…<&, | >

(input_n<~=,==>mf_njn)=>

(output_1<~=,==>mf_n + 1jn+1)...<&, | >

(output_k<~=,==>mf_k + njk+n) <&, | >…

(output_m<~=,==>mf_m + njm≠n) (W)

Отличие символьного формата от расширенного состоит в том, что вместо словесной интерпретации связок используется символьная (символы «&» и «|» – соответственно определяют логическое И и логическое ИЛИ, символ «~»– логическое отрицание, а символ «=>» является разделителем условной и заключительной частей правила (антецендента и консеквента).

Общее описание правила вывода в индексном формате может быть представлено в следующем виде:

[-]1j1…[-]iji…[-]njn[-]n+1jn+1…[-]k+ njk+1…[-]m+njm+n(w):<1,2>.

Здесь порядок следования чисел соответствует очередности вводимых переменных, причем символ «,» разделяет правило на условную и заключительную части. До двоеточия записывается порядковый номер соответствующей ФП, после двоеточия – вид логической связки («1» – логическое И, «2» – логическое ИЛИ). Логическое отрицание задается символом «–».

После определения правил вывода в одноименном редакторе можно утверждать, что СНВ полностью создана.

еще рефераты
Еще работы по информатике