Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

сии Задание №4

.pdf
Скачиваний:
12
Добавлен:
20.04.2015
Размер:
630.26 Кб
Скачать

Задание №4

Моделирование экспертных систем в программной среде Fuzzy Logic Toolbox MatLab

Цель работы: ознакомиться с особенностями создания экспертных систем. Получить навыки работы с программной средой пакета Fuzzy Logic Toolbox MatLab.

Задание: в программной среде пакета Fuzzy Logic Toolbox MatLab реализовать экспертную систему нечеткого вывода по алгоритму Сугено, для аппроксимации функции в соответствии с вариантом задания.

Варианты заданий:

Вариант

Функция

Вариант

Функция

0

y x 2

3

 

10

y

 

 

2x 2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

1

y

x3 5

 

 

11

y

 

3x3

 

1

 

 

2

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

y 2x2

12

y

 

3x3

 

1

 

 

 

 

 

 

 

 

 

2

 

 

 

y 3x3

 

 

 

 

2x 2

3

 

 

 

 

 

 

 

 

13

y

 

 

 

 

1

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

y x 2

1

14

y

 

x 4

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

y x3

1

15

y

 

x 4

1

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

y x 2 1

16

y 3x3 1

7

y x3 1

17

y 3x 2 1

8

y

2x 2

18

y

 

x3

1

 

3

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

y

3x 3

 

19

y

 

x3

1

 

2

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Содержание отчета:

1.Цель работы.

2.Задание.

3.Описание алгоритма создания экспертной системы.

4.Описание выполнения работы.

5.Проверка работоспособности системы

6.Построение поверхности нечеткого вывода и результатов системы

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

1

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

Рассмотрим создание экспертной системы в программной среде Fuzzy Logic Toolbox на следующем примере.

Построить нечеткую систему вывода, отображающую зависимость между переменными x и y по функции y=x2.

Создание экспертной системы

Для вызова редактора систем нечеткого вывода необходимо в окне команд набрать fuzzy. В результате появится окно FIS-редактора с типом системы нечеткого вывода Мамдани по умолчанию. Создадим новую систему нечеткого вывода типа Сугено File–>New FIS…–>Sugeno.

Имя входной переменной input1 можно переименовать в x, а имя системы в «APPROX» путем сохранения системы в файл File–>Export–>To file…(Рис. 1).

Рисунок 1 – Окно FIS-редактора

Далее необходимо добавить функции принадлежности входных и выходных переменных, но предварительно надо удалить все имеющиеся функции

2

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

Edit–>Membership Functions и выбрать Edit–>Remove All MFs.

Входную функцию зададим следующими значениями:

Таблица 1 – Входные значения функции

x

–1

–0.6

–0.4

-0.2

0

0.2

0.4

0.6

1

y=x2

1

0.36

0.16

0.04

0

0.04

0.16

0.36

1

Добавим для x девять функций принадлежности Edit–>Add MFs…. Значение поля типа функции принадлежности (MF type) указать Гаусса (gaussmf), в поле количество функций принадлежности (Number of MFs) – 9 (по количеству значений x из табл. 1) (Рис. 2)

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

В поле диапазон (Range) входного значения x установим [-1 1]. Переименуем для наглядности все функции принадлежности следующим образом: mf1–>n4, mf2–>n3, mf3–>n2, mf4–>n1, mf5–>z, mf6–>p1, mf7–>p2, mf8–>p3, mf9–>p4. Установим максимумы функций в соответствующие точки x, путем изменения второго значения в поле Params для каждого графика функции (n4 –1, n3 –0.6, n2 –0.4, n1 –0.2, z 0, p1 0.2, p2 0.4, p3 0.6 p4 1) (Рис. 3). Закроем окно редактора функций принадлежности.

3

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

В окне редактора нечеткой системы FIS Editor APPROX изменим имя переменной output1 на y. (Рис. 4)

4

Рисунок 4 – Окно редактора нечеткой системы

Теперь перейдем к редактированию функций принадлежности переменной y. Откроем редактор функций принадлежности (Edit–> Membership Functions…), выберем блок y и удалим все имеющиеся функции принадлежности для блока переменной y (Edit–>Remove All MFs). Добавим пять функций принадлежности , по числу значений y в таблице 1 (Edit–>Add MFs…). В поле MF type укажем constant, в

поле Number of MFs – 5 (Рис. 5).

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

Диапазон значений оставим [0 1], а имена функций изменим на значения соответствующие выходному значению y и укажем это же значение в поле Params (Рис. 6). Закроем окно редактора функций принадлежности.

5

Рисунок 6 – Результат нечеткого вывода

Откроем окно редактора правил (Edit–>Rules…). Введем необходимые правила, которые обозначают соответствие между каждой функцией принадлежности x и значением y. Функция n4 соответствует значению x=–1 и y=1, n3 соответствует значению x=–0,6 и y=0,36 и т.д. по таблице 1 (Рис 7). Закроем окно редактора правил, построение системы закончено.

6

Рисунок 7 – Редактор правил

Просмотреть результаты созданной системы можно в окне View–>Rules, тут же можно изменять входное значение x и получать аппроксимированное значение у (Рис. 8). Просмотреть получившийся график функции можно View–>Surface (Рис. 9).

Рисунок 8 – Результаты работы системы

7

Рисунок 9 – График функции

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]