Файл: Рубежный контроль к разделу 7.doc

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 126

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рубежный контроль к разделу 7





  1. Прочитать документацию, изучить интерфейс, посмотреть примеры, и запустить инструментальное средство для построения экспертных систем. FisPro, например. https://www.fispro.org/

  2. Реализовать примеры лабораторной работы.

  3. Реализовать задачи лабораторной работы.

  4. Отчет c описанием проделанной работы со скриншотами (на которых видно ваш рабочий стол) прикрепить в ЭИОС.


Лабораторная работа

рЕШЕНИЕ ЗАДАЧ УПРАВЛЕНИЯ и наблюдения методами нечеткой логики




Цель работы


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

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


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

Основными понятиями нечеткой логики являются понятия: лингвистическая переменная, нечеткие множества, функции принадлежности.

Лингвистическими называются переменные, значениями которых являются термы (слова, предложения). С термином “лингвистическая переменная” можно связать любую физическую переменную, для которой нужно иметь больше значений, нежели, да и нет. Значения лингвистической переменной принято называть термами.

Принадлежность каждого точного значения к одному из термов определяется с помощью функций принадлежности. Существует несколько типов стандартных функций принадлежности: треугольная (trimf), трапецеидальная (trapmf), гауссова (gaussmf), двойная гауссова (gauss2mf), обобщенная колоколообразная (gbellmf), сигмоидальная (dsigmf), произведение двух сигмоидальных функций (psigmf), Z-функция, S-функция, Pi- функция.

В целом процесс вычисления в нечетких системах происходит в несколько этапов:

1) Фаззификация - процесс перехода от “четкого” (измеренного, например
) значения к “нечеткому” ( ).

2) Нечеткий логический вывод. На данном этапе на основе правил, заложенных на этапе проектирования в базу правил нечеткой системы, происходит определение значения выходной переменной.

Данные правила описывают отношения между лингвистическими переменными с помощью нечетких высказываний, т. е. предложений сформулированных в виде “Если - То” (нечеткие инструкции). При наличии двух входных величин “Если – То” правила состоят из двух условий и объединяются логической операцией AND или OR. Совокупность нечетких правил (нечетких инструкций) принято называть алгоритмом нечеткого вывода. Например, Если t=средняя То P=высокая. Как видно, значение выходной переменной в результате нечеткого логического вывода также является нечетким.

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

2.Описание пакета FisPro


FisPro (Fuzzy Inference System Professional) - это профессиональное программное обеспечение для проектирования, разработки и тестирования систем нечеткого вывода, базирующихся на математическом аппарате нечеткой логики (НЛ). FisPro обладает широкими возможностями для создания и работы систем нечеткого вывода, включая возможности автоматического обучения систем и создания баз нечетких правил, является свободнораспространяемым программным продуктом.

(https://www.fispro.org/).

3. Проектирование нечетких систем в FisPro.


Главное окно программы представлено на рис. 1.1. Здесь в поле Name задается имя системы, в полях Input и Output входные и выходные переменные проектируемой системы.



Рис. 1.1. Окно программы FisPro

Рассмотрим этапы проектирования нечетких систем с помощью программы FisPro на следующем примере.

Пример 1. Создать нечеткую систему управления процессом подачи тепла в зависимости от измеренного значения температуры.

1) В самом начале работы необходимо выполнить команды

Fis/ New и в поле Name задать имя новой системы. Например, «управление подачей тепла».

2) Зададим входные (измеряемые) и выходные (вычисляемые) переменные: для этого нужно выполнить команды Fis, Inputs (Outputs), Newinputs (NewOutputs), в открывшемся окне задаем имя переменной, например, «Температура», открыв меню Range, указываем диапазон изменения значений этой переменной (рис. 1.2).



Рис. 1.2. Диапазон изменения значений переменной «Температура»
После нажатия кнопки Apply, нужно выполнить команду MFs/ NewMFs, чтобы задать термы и функции принадлежности переменной. Здесь (рис. 1.3) в поле Name указывается название терма, Type – тип функции принадлежности (trapezoidal –трапецеидальная функция принадлежности, triangular – треугольная и т.д.)



Рис. 1.3

Для лингвистической переменной Температура зададим следующие термы в соответствии с табл. 1.1.

Таблица 1.1

Название терма

(Name)

Тип функции

Принадлежности

(Type)

Диапазон изменения

(Params)

Очень низкая

трапецеидальная

[-30 -20 20 30]

Низкая

треугольная

[10 30 50]

Средняя

треугольная

[30 50 70]

Высокая

треугольная

[50 70 90]

Очень высокая

трапецеидальная

[70 80 120 130]

Окно редактора функций принадлежности для переменной «температура» представлено на рис. 1.4.



Рис. 1.4

Аналогично задаются термы и определяются функции принадлежности для выходной переменной Подача_тепла (рис. 1.5). Исходные данные приведены в табл. 1.2.

Таблица 1.2

Название терма

Тип функции

принадлежности

Диапазон изменения

Очень малая

треугольная

[-20 0 20]

Малая

треугольная

[10 25 40]

Средняя

треугольная

[30 50 70]

Большая

треугольная

[60 75 90]

Очень большая

треугольная

[80 100 120]




Рис. 1.5

1.3 Чтобы создать базу правил, нужно сначала сформулировать предложения в форме ЕСЛИ – ТО, куда бы входила введенная нами переменная Температура:

ЕСЛИ Температура = очень_низкая То Подача_воды = очень_большая

ЕСЛИ Температура =низкая ТО Подача_воды =большая

ЕСЛИ Температура = средняя ТО Подача_воды = средняя

ЕСЛИ Температура = высокая ТО Подача_воды = малая

ЕСЛИ Температура = очень_высокая ТО Подача_воды = очень_малая

Чтобы внести эти правила в базу правил необходимо нажать на кнопку Rules в главном окне программы, далее выполнить команду NewRule меню Rules.

На рис. 1.6 изображено окно редактора базы знаний после ввода 5 правил.


Рис. 1.6. Окно редактора базы правил
1.4 После того как база правил создана можно приступить к этапу логического вывода, для этого нужно выполнить команду Infer меню FIS в главном окне программы.

В левой части окна в графической форме представлены функции принадлежности входной переменной Температура, в правой – выходной переменной Подача_тепла (рис. 1.7). Изменять значения входной переменной можно передвигая бегунок или же задавать числовые значения непосредственно в поле Температура.



Рис. 1.7. Логический вывод
1.5 Просмотр поверхности выхода.

Для того чтобы перейти к окну просмотра поверхности выхода выполнить команду SystemResponse/ Section пункта меню Fis в главном окне.



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

Задача заключается в построении нечеткой аппроксимирующей системы, отображающей зависимость между переменными x и y, заданную с помощью табл. 1.3.

Таблица 1.3

x

-1

-0.6

-0.4

0

0.5

0.7

1

2

4

y

1

0.37

0.15

0

0.24

0.5

1

4

16.5



1. Создать новую нечеткую систему «аппроксимация функции».

2. Назвать входную переменную как x, выходную как y. Задать диапазоны изменения аргумента и значения функции.

3. Перейти в редактор функций принадлежности переменной х. В качестве типа функции принадлежности выбрать – гауссова функция принадлежности, в полях Name и Mean задать исходные значения переменной x из таблицы, в поле standarddeviation указывается «отклонение».

Задать функции принадлежности для выходной переменной y: тип функций принадлежности – discrete, в поле defuzzification указать sugeno (т.е. дефаззификация выполняется по алгоритму Сугено), в поля Name и Value ввести указанные в таблице значения переменной y.

4. Задать правила нечеткого вывода в редакторе правил.

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

6. Посмотреть поверхность выхода.

4. Задания к лабораторной работе


4.1 Создать модель движения автомобиля по трассе.

Входные величины:

  1. расстояние от автомобиля до препятствия (изменяется в пределах от 0 до 500),

  2. скорость автомобиля (0 - 200).

Выходная величина:

Сила торможения (0 - 100).

Термы для лингвистических переменных расстояние и скорость: очень_мало (VS), мало (S), средне (M), велико (B), очень_велико (VB).

Для лингвистической переменной сила_торможения задать следующие термы: близка_к_нулю (Z), четверть (OQ), половина (H), три_четверти (TQ), полная (FU).

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

Исходные данные для моделирования представлены в табл. 1.4 – 1.7:

Таблица 1.4

Переменная “Скорость”

Название терма

(NAME)

Тип функции принадлежности (TYPE)

Диапазон изменения

(PARAMS)

Очень малая (VS)

трапецеидальная

[0 0 20 60]

Малая (S)

треугольная

[20 60 100]

Средняя (M)

треугольная

[60 100 140]

Большая (B)

треугольная

[100 140 180]

Очень большая (VB)

трапецеидальная

[140 180 200 200]