Автор работы: Пользователь скрыл имя, 13 Мая 2013 в 16:25, курсовая работа
Цель: изучение основных понятий теории нечетких множеств и разработка систем нечеткого вывода для аппроксимации функций.
Задачи:
Изучить и проанализировать литературу по нечетким множествам и выводам.
Изучить пакет Fuzzy Logic Toolbox среды MatLab.
Разработать нечеткую систему вывода в среде MatLab.
Введение 3
Глава 1. Нечеткие множества и выводы. 4
Основные понятия теории нечетких множеств. 4
Нечеткие отношения. 9
Основы нечеткой логики 15
Системы нечеткого вывода. 18
Глава 2. Нечеткое моделирование в среде MatLab. 24
Общая характеристика программы MATLAB. 24
Разработка системы нечеткого вывода в интерактивном режиме 25
Заключение 35
Литература: 36
Формально процедура аккумуляции выполняется следующим образом. До начала этого этапа предполагаются известными значения истинности всех подзаключений для каждого из правил Rk, входящих в рассматриваемую базу правил P системы нечеткого вывода, в форме совокупности нечетких множеств: ,,…, где q — общее количество подзаключений в базе правил. Далее последовательно рассматривается каждая из выходных лингвистических переменных W и относящиеся к ней нечеткие множества: , ,...,. Результат аккумуляции для выходной лингвистической переменной щ определяется как объединение нечетких множеств , ,...,
Этап аккумуляции считается законченным, когда для каждой из выходных лингвистических переменных будут определены итоговые функции принадлежности нечетких множеств их значений, т. е. совокупность нечетких множеств: ,,…,, где s — общее количество выходных лингвистических переменных в базе правил системы нечеткого вывода.
Алгоритм нечеткого вывода Мамдани (Mamdani).
Алгоритм Мамдани является одним из первых, который нашел применение в системах нечеткого вывода. Он был предложен в 1975 г. английским математиком Е. Мамдани (Ebrahim Mamdani) в качестве метода для управления паровым двигателем. По своей сути этот алгоритм порождает рассмотренные выше этапы, поскольку в наибольшей степени соответствует их параметрам.
Формально алгоритм Мамдани может быть определен следующим образом:
Алгоритмы нечеткого вывода Сугено (Sugeno) и Такаги (Takagi)
Сугено (Sugeno) и Такаги (Takagi) использовали набор правил в следующей форме:
П1: если х есть А1 и y есть В1, тогда z=a1x+b1y,
П2: если х есть А2 и y есть В2, тогда z =a2x+b2y.
z*1=a1x0+b1y0,
z*2=a2x0+b2y0.
.
Представленная форма правил иллюстрирует алгоритм Сугено 1-го порядка. Если правила записаны в форме:
П1: если х есть А1 и y есть В1, тогда z=с1,
П2: если х есть А2 и y есть В2, тогда z =с2,
то задан алгоритм Сугено 0-го порядка.
Иллюстрация алгоритма Сугено 0-го порядка представлена на рисунке 3.
Рисунок 3 – Графическая интерпретация алгоритма Сугено
Перечислим наиболее известные методы дефаззификации.
Метод Максимума – выбирается тот элемент нечеткого множества, который имеет наивысшую степень принадлежности этому множеству.
Если этот элемент не является единственным, т.е. функция принадлежности имеет несколько локальных максимумов, или если имеется максимальное «плато», то выбор среди элементов, имеющих наивысшую степень принадлежности множеству, осуществляется на основе некоторого критерия.
Метод левого (правого) максимума – выбирается наименьшее (наибольшее) из чисел y1, y2, .. ,yn, имеющих наивысшую степень принадлежности нечеткому множеству.
Метод среднего из максимумов – в качестве искомого четкого значения yo принимается среднее арифметическое координат локальных максимумов .
Система MATLAB (сокращение от англ. MATrix LABoratory— матричная лаборатория) представляет собой интегрированную программную среду для выполнения численных расчетов, компьютерного моделирования и вычислительных экспериментов, охватывающих в том или ином объеме различные области классической и современной математики, а также широчайший спектр инженерных приложений.
Архитектурно система MATLAB состоит из базовой программы и нескольких десятков так называемых пакетов расширения, которые в своей совокупности обеспечивают исключительно широкий диапазон решаемых задач. Интеграция всех этих средств в единой рабочей среде обеспечивает необходимую гибкость использования сотен встроенных функций, реализующих разнообразные математические процедуры и вычислительные алгоритмы.
Для реализации процесса нечеткого моделирования в среде MATLAB предназначен специальный пакет расширения Fuzzy Logic Toolbox. B рамках этого пакета, который расположен в папке C:\MATLAB6pl\tooIbox\fuzzy (если система MATLAB установлена по умолчанию на диске C:), пользователь может выполнять необходимые действия по разработке и использованию нечетких моделей в одном из следующих режимов:
Процесс разработки системы нечеткого вывода в интерактивном режиме.
Для разработки и дальнейшего применения систем нечеткого вывода в интерактивном режиме могут быть использованы следующие графические средства, входящие в состав пакета Fuzzy Logic TooIbox.
B табл. 1 представлены функции MATLAB, которые могут быть использованы для вызова соответствующих графических средств.
Функция |
Назначение |
fuzzy |
Редактор системы нечеткого вывода FIS |
mfedit |
Редактор функции |
ruleedit |
Редактор правил нечеткого вывода |
ruleview |
Программа просмотра правил и диаграммы нечеткого вывода |
surfview |
Программа просмотра поверхности нечеткого вывода |
Таблица 1. Функции графического интерфейса пользователя.
Разработаем систему нечеткого вывода в интерактивном режиме с помощью графических средств пакета Fuzzy Logic Toolbox .
Рассмотрим аппроксимацию функции правилами нечеткого вывода.
Пример 1.
Исходные данные для аппроксимации функции y=x2 представлены в таблице 2.
X |
-1 |
-0,6 |
0 |
0,4 |
1 |
Y |
1 |
0,36 |
0 |
0,16 |
1 |
Таблица 2 – Значения x и y.функции y=x2
Процесс разработки системы нечеткого вывода в интерактивном режиме состоит в выполнении следующей последовательности действий:
Рис. 4. Графический интерфейс редактора FIS, вызываемый функцией fuzzy
Рис. 5. Вид редактора функций принадлежности
Шаг выполняется двумя способами:
В поле Name вводится имя функции принадлежности (1- bn, 2 – n, 3 (центральная) – z, 4 – p, 5 – bp).
Рис. 6. Вид редактора функций принадлежности после его вызова с функциями принадлежности входных значений
Выйти из редактора функций принадлежности – Close.
Рис. 7. Вид редактора функций принадлежности после его вызова с функциями принадлежности выходных значений
Рис. 6. Вид редактора функций принадлежности после установки выходных значений.
Закрыть редактор.
If (x is bn) then (y is 1) (1).
Аналогично вводятся все правила (всего 5).
Рис. 7. Вид редактора правил нечеткого вывода после их определения
Закрыть окно редактора правил и вернуться в окно FIS-редактора.
Построение системы закончено.
Перейти в редактор функций принадлежности (View/Edit Membership function). Из окна редактора командой можно перейти в окно просмотра правил (View rules), просмотра поверхности (View surface).
В окне просмотра правил иллюстрируется процесс принятия решения (вычисления y). Красная вертикальная черта, пересекающая графики в правой части окна, которую можно перемещать с помощью мыши, позволяет изменять значения переменной входа (либо вводят значение с клавиатуры в поле Input), при этом соответственно изменяется значение выхода.