Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

По теме лабораторной работы



Matlab – пакет прикладных программ для решения задач численного анализа созданный компанией The MathWorks. Пакет позволяет визуализировать математические функции и экспериментальные данные, реализовывать вычислительные алгоритмы, конструировать графический интерфейс пользователя для решения специфических задач, а также через специальные интерфейсы взаимодействовать с другими языками программирования и программами.

При загрузке Matlab появляется основное окно программы, состоящее из следующих частей: меню; панель инструментов; Launch Pad – список доступных инструментальных пакетов; Command History – история команд; Command Window – окно команд.

Рис. 1 - Основное окно Matlab

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

Основными элементами окна Fuzzy Toolbox являются: меню; настройка входных и выходных функций принадлежности; настройка методов сложения множеств на разных этапах.

Рис. 2 - Окно настроек Fuzzy Logic Toolbox

Для добавления входных переменных необходимо воспользоваться командой меню «Edit → Add Variable → Input». Для удаления входной переменной необходимо выбрать её и воспользоваться командой меню «Edit → Remove Selected Variable».

Для изменения параметров входных и выходных функций принадлежности, необходимо выполнить двойной клик на одной из входных/выходных переменных или воспользоваться командой меню «Edit → Membership Functions».

Рис. 3 - Изменение параметров функций принадлежности

На рисунке 3 цифрами 1 - 4 обозначены:

1 – поле выбора переменной, для которой требуется изменить параметры функции принадлежности;

2 – редактор функции принадлежности;

3 – поле настройки параметров переменной:

· range – отрезок значений, которые может принимать переменная;

· display range – отрезок значений, отображаемый на графике;

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

· name – название функции принадлежности;

· type – вид функции (trimf – треугольная, trapmf – трапецеидальная, gauss – гауссова);

· params – параметры функции.

Для добавления дополнительных функций принадлежности для выбранной переменной, необходимо воспользоваться меню «Edit → Add MFs», где необходимо задать вид функции и количество добавляемых функций.

Для удаления функции принадлежности необходимо выбрать её и воспользоваться меню «Edit → Remove Selected MF».

Для редактирования правил необходимо воспользоваться меню «Edit → Rules».

Рис. 4 - Редактор правил

На рисунке 4 цифрами 1 - 6 обозначены:

1. меню;

2. список созданных правил;

3. область выбора условий левой части правила (предпосылок);

4. область выбора связи между условиями предпосылок (или/и);

5. область выбора результирующей функции принадлежности;

6. набор управляющих кнопок:

«Delete Rule» – удалить правило, выбранное в списке созданных правил;

«Add Rule» – добавить правило;

«Change Rule» – изменить правило, выбранное в списке созданных правил.

Для создания нового правила необходимо задать условия левой части правила, результирующую функцию и нажать на кнопку «Add Rule». Для удаления правила, необходимо выбрать его в списке и нажать кнопку «Delete Rule». Для проверки работы механизма нечеткого вывода необходимо воспользоваться меню «View → Rules».

Рис. 5 - Просмотр механизма нечеткого вывода

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

Рассмотрим пример использования пакета Matlab для моделирования приведенной выше задачи модернизации СЗИ.

1. Запустим Fuzzy Logic Toolbox с помощью команды fuzzy.

2. Добавим вторую входную лингвистическую переменную, используя меню «Edit → Add Variable → Input».

Рис. 5 - Добавление лингвистической переменной

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

Рис. 6 - Настройка параметров функций принадлежности

4. Сформулируем набор правил.

Рис. 7 - Окно редактора правил

5. Просмотрим результаты моделирования механизма принятия решений, используя меню «View → Rules».

Рис. 7- Окно результатов моделирования

Нечеткая логика – это математическая наука, служащая расширением классической логики и основанная на концепции частичной истинности. Понятия нечетких множеств (fuzzy sets) и нечеткой логики (fuzzy logic) впервые были предложены американским ученым

Основные преимущества систем на основе нечеткой логики:

· возможность оперирования нечеткими входными данными: например, значениями, которые невозможно задать однозначно («сильно уязвимый», «довольно дорогой» и т.п.);

· возможность нечеткой формализации критериев оценки и сравнения: оперирование критериями "большинство", "возможно", преимущественно";

· возможность проведения качественных оценок как входных данных, так и выходных результатов;

· возможность проведения имитационного моделирования сложных динамических систем и их сравнительный анализ с заданной степенью точности.

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

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

В обычной теории множеств существуют несколько способов задания множества. Одним из них является использование характеристической функции, определяемой следующим образом: пусть U – некоторое универсальное множество, например, множество всех дей- ствительных чисел. Характеристическая функция множества A U – это функция A,(X →{0, 1}, значения которой (1 или 0) указывают на то, является x U элементом множества A или нет:

(1)

Нечёткие множества являются обобщением обычных множеств, для случая, когда характеристическая функция может принимать, любые значения из отрезка [0, 1]. В теории нечетких множеств данная характеристическая функция называется функцией принадлежности, а её значение А (x) - степенью принадлежности элемента х нечётному множеству A.

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

Треугольная функция принадлежности определяется тройкой чисел (a, b, с), и её значение в точке х вычисляется согласно выражению:

(2)

При b - а = с - b имеет место случай симметричной треугольной функции принадлежности, которая может быть однозначно задана двумя параметрами из тройки (а, b, с).

Аналогично, для задания трапецеидальной функции принадлежности необходима четверка чисел (а, b, с, d):

(3)

При b - а = d - с трапецеидальная функция принадлежности принимает симметричный вид и требует для своего описания 3-х параметров.

Функция принадлежности гауссова типа описывается формулой

(4)

и задается двумя параметрами. Параметр с обозначает «центр» нечет­кого множества, а параметр отвечает за «крутизну» функции (в соответствии «правилом 3-х сигм», площадь под кривой (х) на отрез­ке [с -3 , с + 3 ] равна 0,997 ).

Для нечётких множеств используются операции, введённые Заде:

· пересечение множеств - операция над множествами А и

В, результатом которой является множество С = А В, содержащее только те элементы, которые принадлежат и множеству А и множест­ву В:

(5)

· объединение множеств - операция над множествами А и

В, результатом которой является множество С = А В, содержащее те элементы, которые принадлежат множеству А или множеству В или обоим множествам:

(6)

· отрицание множества - операция над множеством А,

результатом которой является множество С­­­­­ А, содержащее все эле­менты, принадлежащие универсальному множеству, но не принадле­жащие множеству A:

(7)

· концентрация множества А - обозначается как CON(A),

от англ. concentration; соответствует усилительной частице «очень» (на­пример, «очень высокий», «очень дорогой»):

(8)

· растяжение множества А - обозначается символом

DIL(A), от англ. dilation; соответствует уменьшительной частице «довольно» (например, «довольно молодой», «довольно быстрый»):

(9)

Ключевыми понятиями теории нечетких множества являются понятия нечеткой и лингвистической переменных.

Нечеткая переменная определяется тройкой < α, U, µ >,где α - наименование переменной; U - универсальное множество (область, определения α); µ = µ(х) - функция принадлежности определённая на U, и характеризующая нашу степень уверенности в том, что х является значением нечёткой переменной.

Лингвистической переменной называется набор < β, Т, U, G, М>, где β - наименование лингвистическом переменной; T -множество ее значений (терм-множество), представляющих собой наименования нечетких переменных; G - синтаксическая процедура, позволяющая оперировать элементами терм-множества T в частности, генерировать новые термы (значения); М- семантическая процедура, позволяющая превратить каждое новое значение лингвистической переменной, образуемое процедурой G, в нечеткую переменную,

Нечетким логическим выводом(fuzzy logic inference) называется аппроксимация зависимости Y = f (x 1, x 2, , xn) выходной лингвистической переменной от входных лингвистических переменных и получение заключения в виде нечеткого множества, с использованием базы знаний, содержащей правила вида «Если …, то…».

Механизм логического вывода состоит, в общем случае, из следующих этапов:

1) фаззификация – определение степеней уверенности, т.е. значения каждой из функций принадлежности терма при заданных значениях входных переменных xk (k = 1, …, n);

2) нечеткий вывод – состоит из двух этапов:

· определение уровней «отсечения» для левой части каждого из правил, т.е. значения функций принадлежности для левых частей каждого правила («предпосылок»). В большинстве случаев, это либо максимум, либо минимум из степеней уверенности термов, вычисленных на этапе фаззификации (логические «ИЛИ», «И»);

· определение «усеченных» функций принадлежности. Для этого значения функций принадлежности предпосылок объединяются с соответствующими функциями принадлежности из правых частей правил по правилу «логического И»;

3) нечеткая композиция – определение результирующей функции принадлежности всей совокупности правил, т.е. объединение полученных усеченных функций (обычно по правилу «логического ИЛИ»);

4) дефаззификация – приведение к «четкости», используя результирующую функцию принадлежности. Основным методом деффазификации является центроидный (centroid) – нахождение центра тяжести плоской фигуры, ограниченной осями координат и графиком функции принадлежности нечеткого множества;

Пример:

Рассмотрим процедуру принятия решения о необходимости выделения затрат на модернизацию системы защиты информации (СЗИ).

1. Сформулируем набор нечетких логических переменных:

· уровень угроз x = {Низкий (S), Средний (M), Высокий (L)};

· уязвимость ресурсов y = {Невысокая (S), Высокая (L)};

· затраты на модернизацию z = {Низкие (S), Высокие (L)}.

2. Построим графики функций принадлежности для этих переменных.

в

Рис. 8 - Функции принадлежности для уровня угроз, уязвимости

и затрат на модернизацию СЗИ: а – уровень угроз; б – уязвимость ресурсов; в – затраты на модернизацию.

3. Сформулируем правила, регламентирующие работу системы принятия решений:

ЕСЛИ Уровень угроз = «НИЗКИЙ» И Уязвимость ресурсов = «НЕВЫСОКАЯ» ТО Затраты на модернизацию = «НИЗКИЕ»

Полный список всех правил, с указанием соответствующих значений нечетких переменных x, y и z приведен в табл. 1:

Таблица 1 – База правил

x y S M L
S S L L
L S S L

4. Построим графическое представление механизма логического вывода для конкретных значений входных переменных x = x * и y = y * .

 

б
 
 

 
 

 
 

5. Определим результирующую функцию принадлежности совокупности правил 1 - 4, используя при дефаззификации центроидный метод.

α3 = max { α1, α3, α4}

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

и дефаззификация.

Задания для лабораторной работы:

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

2. Построить базу правил. Реализованную базу правил отразить в отчете в табличном виде, аналогично табл. 1.

3. Промоделировать механизм нечеткого логического вывода с помощью пакета прикладных программ Mathlab.

Вариант 1

1.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Средняя заработная плата клиента y – Продолжительность работы на последнем месте z – Степень финансового доверия

2.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Возраст y – Социальное положение z – Степень социального доверия

3.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Степень финансового доверия y – Степень социального доверия z – Максимальный размер потребительского кредита

Вариант 2

1.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Уровень осадков y – Среднесуточная температура z – Скорость таяния снежного покрова

2.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Максимальный ожидаемый уровень воды в водохранилище y – Площадь бассейна водохранилища z – Объем водяного спуска

3.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Скорость таяния снежного покрова y – Объем водяного спуска z – Ожидаемый уровень половодья

Вариант 3.

1.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Качество сценария y – Качество игры актеров z – Качество режиссерской работы

2.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Бюджет фильма y – Уровень спецэффектов z – Зрелищность фильма

3.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Качество режиссерской работы y – Зрелищность фильма z – Величина кассовых сборов фильма

Вариант 4.

1.

Входные лингвистические переменные Выходная лингвистическая переменная
х – Качество преподавания y – Качество лабораторно-методической базы z – Качество учебного процесса

2.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Уровень мотивации студента y – Степень сообразительности студента z – Средняя успеваемость студента  

3.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Качество учебного процесса y – Средняя успеваемость студента z – Уровень усвоения знаний

Вариант 5

1.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Уровень финансовых вложений y – Срок окупаемости проекта z – Степень эффективности вложения средств

2.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Квалификация персонала y – Качество материальной базы z – Качество выполненной работы

3.

Входные лингвистические переменные Выходная лингвистическая переменная
x – Степень эффективности вложения средств y – Качество выполненной работы z – Эффективность проекта

Контрольные вопросы:

1. Укажите отличия нечеткой переменной от лингвистической переменной.

2. Приведите основные типы функций принадлежности.

3. Опишите основные этапы нечеткого логического вывода с использованием метода Max/min.

4. В чем заключается суть этапа дефаззификации?

5. Назовите основные преимущества нечетких алгоритмов принятия решений.





Дата публикования: 2015-11-01; Прочитано: 1231 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.03 с)...