Краткие теоретические сведения

Отчет по практической работе №2

по дисциплине: «Искусственные нейронные сети и нечеткая логика в задачах контроля и управления»

на тему: «Построение аппроксимирующей функции y=x2»

Вариант №1

 

 

Выполнил: студент группы 78-61

ФИО

Проверил: к.т.н., доцент кафедры АИТ

Горшкова К. Л.

 

 

Альметьевск, 2020

Цель работы: изучить создание системы нечеткого вывода для аппроксимации функции.

 

Краткие теоретические сведения

В экспертных и управляющих системах механизм нечетких выводов в своей основе имеет базу знаний, формируемую специалистами предметной области в виде совокупности нечетких предикатных правил вида:

П1: если х есть А1, то y есть В1,

П2: если х есть А2, то y есть В2,

Пn: если х есть Аn, то y есть Вn,

где х – входная переменная, y – переменная вывода, А и В – функции принадлежности, определенные на х и y соответственно.

Знания эксперта А→В отражает нечеткое причинное отношение предпосылки и заключения, поэтому его называют нечетким отношением: R = А→В, где «» - нечеткая импликация.

Алгоритм нечеткого вывода:

1. Нечеткость (фаззификация, fuzzification). Функции принадлежности, определенные для входных переменных, применяются к их фактическим значениям для определения степени истинности каждой предпосылки каждого правила.

2. Логический вывод. Вычисленное значение истинности для предпосылок каждого правила применяется к заключениям каждого правила. Это приводит к одному нечеткому подмножеству, которое будет назначено переменной вывода для каждого правила. В качестве правил логического вывода используются только операции min (минимума) или prod (умножение).

3. Композиция. Нечеткие подмножества, назначенные для каждой переменной вывода (во всех правилах), объединяются вместе, чтобы сформировать одно нечеткое подмножество для каждой переменной вывода. При подобном объединении обычно используются операции max (максимум) или sum (сумма).

4. Дефаззификация – приведение к четкости (defuzzification). Преобразование нечеткого набора выводов в число.

 

Задание: Создать систему нечеткого вывода для аппроксимации функции y=kx2. Для аппроксимации взять 10 значений функции.

k mf input
1,5 trimf

 

Выполнение работы:

Для выполнения работы рассчитаем значения функции y=kx2 и представим результаты в таблице:

X -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1
Y 1.5 0.84375 0.375 0.09375 0 0.09375 0.375 0.84375 1.5

 

1. Командой fuzzy из режима командной строки запускаем основную интерфейсную программу пакета Fuzzy Logic – редактор нечеткой системы вывода.

2. В меню File выбираем команду New Sugeno FIS.

3. Затем необходимо выбрать входной элемент системы input1 и ввести в поле Nameобозначение входной переменной х. Аналогично переименовать выходную переменную output1 в переменную y. Окно принимает вид:

Рисунок 1 – Рабочее окно FIS Editor с переименованными переменными

4. Для перехода в режим редактирования функции принадлежности необходимо щелкнуть на соответствующей иконке входной переменной. Командой Edit AddMFs добавляем функции принадлежности, задаем тип функций принадлежности (trimf) и количество 9.

Рисунок 2 – Окно добавления функций принадлежности

5. Устанавливаем диапазон в поле Range изменения х от -1 до 1.

6. Совмещаем ординаты максимумов функций принадлежности со значениями аргумента x.

Рисунок 3 – Окно настроек функций принадлежности входной переменной

7. Задаем также вид функции принадлежности для выходной переменной. В поставленной задаче необходимо выбрать постоянные (constant) функции принадлежности с общим числом 5.

Рисунок 4 – Окно добавления функций принадлежности для выходной переменной

8. Устанавливаем диапазон Range – [0 1.4]. Изменением значений в поле Params и заданием для выходных переменных имена, получаем следующее:

Рисунок 5 – Окно настроек функций принадлежности выходной переменной

9. Переходим в редактор правил Rule Editor. При вводе каждого правила необходимо обозначить соответствие между каждой функцией принадлежности аргумента x и числовым значением y.

Рисунок 6 – Окно для ввода продукционных правил

Просмотр кривой y(x) осуществляется командой View Viewsurface.

Рисунок 7 – Окно для просмотра результата

 

Вывод: в ходе выполнения данной работы была получена система нечеткого вывода для аппроксимации функции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: