Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
fuzzy.doc
Скачиваний:
96
Добавлен:
18.12.2018
Размер:
2.93 Mб
Скачать

2. Операции с нечеткими множествами в среде matlab

Выделяют три основные логические операции с нечеткими множествами: конъюнкция, дизъюнкция и логическое отрицание. В среде MATLAB есть возможность определять конъюнктивные и дизъюнктивные операторы с точки зрения минимаксной и вероятностной интерпретации.

Минимаксная интерпретация логических операторов.

В рамках данной интерпретации конюнктивный оператор представляет собой оператор взятия минимума - min (рис. 1.8, а), а дизъюнктивный оператор - оператор взятия максимума - max (рис. 1.8, б).

Описание функции:

y = min([;])

Описание функции:

y = max([;])

Параметры и представляют собой исходные ФП.

Пример 1.7

x=0:0.1:10;

subplot(1,2,1);

y1=gaussmf(x,[3 5]);

y2=gaussmf(x,[3,7]);

y3=min([y1;y2]);

plot(x,[y1; y2],':') Построение исходных ФП пунктирной линией

hold on; Включение механизма добавления кривой в текущий

график

plot(x,y3);

hold off; Выключение механизма добавления кривой в текущий

график

subplot(1,2,2);

y4=max([y1;y2]);

plot(x,[y1; y2], ':');

hold on;

plot(x,y4);

hold off

Пунктирной линией на графиках показаны исходные ФП, а сплошной линией - результат логических операторов.

Минимаксная интерпретация логических операторов является наиболее распространенной при построении нечетких систем. Тем не менее на практике довольно часто используется альтернативная интерпретация конъюнктивных и дизъюнктивных операторов - вероятностная. ИНЛ имеет в своем составе соответствующие функции.

Минимаксная интерпретация логических операторов.

В рамках данной интерпретации конюнктивный оператор представляет собой оператор вычисления алгебраического произведения - prod (рис. 1.9, а), а дизъюнктивный оператор - оператор вычисления алгебраической суммы - probor (рис. 1.9, б).

Описание функции:

y = prod([;])

Описание функции:

y = probor([;])

Параметры и представляют собой исходные ФП.

Пример 1.8

x=0:0.1:10;

subplot(1,2,1);

y1=gaussmf(x,[3 5]);

y2=gaussmf(x,[3,7]);

y3=prod([y1;y2]);

plot(x,[y1; y2],':')

hold on;

plot(x,y3);

hold off;

subplot(1,2,2);

y4=probor([y1;y2]);

plot(x,[y1; y2], ':');

hold on;

plot(x,y4);

hold off

Дополнение нечеткого множества

Дополнение нечеткого множества есть не что иное, как математическое представление вербального выражения “НЕ ” (рис. 1.10), где - нечеткое множество, описывающее некоторое размытое суждение.

Описание функции:

y = 1- ,

где - исходная ФП.

Пример 1.9

x=0:0.1:10;

y1=gaussmf(x,[3 5]);

y=1-y1;

plot(x,y1,':');

hold on;

plot(x,y);

hold off;

Порядок выполнения работы

  1. Изучить теоретическую часть.

  2. Ответить на контрольные вопросы.

  3. Получить у преподавателя задание на лабораторную работу.

  4. Сформировать отчет о проделанной работе.

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

  1. Постановка задачи

  2. Графики функций принадлежности согласно заданию на лабораторную работу.

  3. Результаты исследованных логических операций.

  4. Текст программы на языке MATLAB.

  5. Выводы.

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

  1. Что такое нечеткое множество и каково его основное отличие от обычного (четкого) множества?

  2. Что такое функция принадлежности?

  3. Какие конъюнктивные и дизъюнктивные операторы Вы знаете?

ЛАБОРАТОРНАЯ РАБОТА №2

МОДЕЛИРОВАНИЕ НЕЧЕТКОЙ СИСТЕМЫ СРЕДСТВАМИ ИНСТРУМЕНТАРИЯ НЕЧЕТКОЙ ЛОГИКИ

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

Теоретическая часть

Еще одним фундаментальным понятием является нечеткое отношение между множествами. В бинарном случае нечеткое отношение задается в виде:

где , - произвольные множества; - функция принадлежности нечеткого отношения (нечеткое отношение отображает декартовое произведение множеств в отрезок [0,1] вещественной прямой).

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

,

где

.

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

Формирование подобных моделей исследуемых систем и процессов осуществляется на естественном или близком к нему языке в виде совокупности продукционных правил типа (ЕСЛИ …, ТО …), которые регламентируют взаимосвязи входных и выходных параметров. Такая лингвистическая модель может быть представлена , например, следующей схемой:

ЕСЛИ есть И … И есть ,

ТО есть И … И есть ;

………………………………………………………..

ЕСЛИ есть И … И есть ,

ТО есть И … И есть ,

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

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

где , - множества нечетких подмножеств, определенных на базовых шкалах , .

Необходимо отметить, что при составлении лингвистических моделей в общем случае могут использоваться различные виды связок, включая “И”, “ИЛИ” и “НЕ”.

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

Посылка 1: ЕСЛИ есть , ТО есть .

Посылка 2: есть .

Следствие: есть .

Ее обобщение для нечеткой логики позволяет получить композиционное правило вывода:

,

где - исходная посылка, получаемая путем фаззификации наблюдаемых входных данных; - нечеткий результат логического вывода на основе знаний.

Решение многих практических задач с использованием методов нечеткой логики предполагает определение точных значений выходных переменных. Этот этап, называемый дефаззификацией, может осуществляться многими возможными способами, наиболее распространенный из которых основан на отыскании “центра тяжести” полученного нечеткого соответствия :

.

Соответствующая структура модели нечетких вычислений показана на рис. 2.1.

Кроме рассмотренного метода нечеткого вывода, который впервые был предложен Мамдани (и носит название – нечеткий вывод по Мамдани), большое распространение получил метод нечеткого вывода по Суджено. Его основные особенности заключаются в следующем:

  • заключительные части правил (консеквенты) представляют собой линейные зависимости от входа, то есть имеет место линейная система:

,

где - количество правил вывода.

  • четкое значение выходной величины вычисляется следующим образом:

,

где - уровень активизации правил вывода, - значение входной величины.

Практическая часть

В составе MATLAB присутствуют пять основных средств графического интерфейса пользователя (ГИП), которые обеспечивают доступ к ИНЛ. Такими средствами являются: редактор системы нечеткого вывода (СНВ), редактор ФП, редактор правил вывода, средство просмотра правил вывода, средство просмотра поверхности вывода. Указанные средства связаны между собой динамически и производимые изменения в одном из них влекут изменения в других.

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

Редактор ФП используется для определения формы функций принадлежности, ассоциированных с каждой переменной.

Редактор правил вывода применяется для редактирования списка правил, которые определяют поведение проектируемой системы.

Средство просмотра правил вывода используется в целях диагностики и может показывать, например, активные правила или насколько форма отдельных ФП оказывает влияние на результат нечеткого вывода.

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

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