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

Учебное пособие 800657

.pdf
Скачиваний:
30
Добавлен:
01.05.2022
Размер:
15.28 Mб
Скачать

ассоциативной памяти.

Сеть Хопфилда [20] является автоассоциативной сетью (рис. 4.12). Дискретная сеть Хопфилда имеет следующие характеристики: она содержит один слой элементов; каждый элемент связывается со всеми другими элементами, но не связан с самим собой; за один шаг работы обновляется только один элемент сети; элементы обновляются в случайном порядке; выход элемента ограничен значениями 0 или 1.

Рис. 4.12. Схема архитектуры модифицированной сети Хопфилда

Пример решения типовой задачи

Рассмотрим сеть Хопфилда [27] с четырьмя нейронами и определим четыре точки равновесия (рис. 4.13):

= +1 − 1; −1 + 1; +1 + 1; −1 − 1 ;

 

= ;

 

 

 

 

1, :

, 2, : ,′ ′ ,′ ′ , 13 ,

;

−1.1 1.1

− 1.1 1.1

;

 

;

 

′ 1 ;

′ 2 ;

 

= ;

 

 

, ,

= , 4,

, ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

;

 

 

 

 

=

′ ′ ;

 

 

= 1: 25

 

 

 

= 2,1

;

 

 

 

 

 

121

 

, ,

= ,

1 20 , , ;

=

2

2 ;

= 2 ;( (1,1), (2,1), ′ ′, (1, : ), (2, : ),

( ( , 5) + 1), ′ ′, 5);

;

Описание приведенной программы

 

([−1.1 1.1

− 1.1 1.1]);

Функция ([ ]) устанавливает масштаб по осям

, для активного графического окна.

 

= ′ ′;

– свойство,

задающее цветовую палитру для

 

выводимых графиков.

Рис. 4.13. Поведение обученной сети при случайных начальных условиях

for i=1 : 25

a = {rands(2,1)};

[y,Pf,Af] = sim (net, {1 20}, {}, a); record=[cell2mat(a) cell2mat(y)]; start=cell2mat(a);

plot(start(1,1), start(2,1), 'kx', record(1,:), record (2,:), color(rem(i,5)+1), 'LineWidth', 5);

end;

Синтаксис:

= : :

операторы ;

оператор цикла: –

переменная

цикла,

 

ее

начальное

значение,

 

ее

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

.

На рисунке 4.13 показано поведение обученной сети при случайных начальных условиях .

122

Отчет о выполнении лабораторной работы № 4 должен быть выпол-

нен на листах формата А4 и содержать следующие результаты:

1)исходные данные;

2)текст программы с подробными комментариями;

3)результаты моделирования (рис. 4.13);

4)контрольный пример;

5)краткие письменные ответы на контрольные вопросы, содержащиеся в приложении.

Лабораторная работа № 5 Формирование нечетких множеств и проведение операций с ними

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

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

Функции принадлежности. Инструменты нечеткой логики в составе пакета Matlab содержат 11 встроенных типов функций принадлежности, формируемых на основе кусочно-линейных функций, распределения Гаусса, сигмоидной кривой, квадратических и кубических полиномиальных кривых. К наиболее простым функциям принадлежности можно отнести треугольную и трапециевидную.

Рис. 4.14. Треугольная (а) и трапециевидная (б) функции принадлежности

Треугольная функция принадлежности – (triangle membership function) в параметрическом виде представляет собой набор трех точек, образующих треугольник.

= , [ ] ;

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

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

123

0, если < ;

 

 

 

 

, если ≤ ≤ ;

, , , =

 

(4.15)

 

 

 

 

, если ≤ ≤ ;

 

 

 

0, если > .

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

Примеры решения типовой задачи Пример 4.1. Программа использования функций принадлежности .

= 0: 0,1: 10;

– задается базовое множество.

= , 3 6 8 ;

– определяется треугольная функция принадлежности.

, ;

– выводится график функции.

′ , 3 6 8

; – подписывается график под осью абцис.

Трапециевидная функция принадлежности – (trapezoid membership function) – отличается от предыдущей функции лишь тем, что имеет верхнее основание.

= , ;

где параметры и – нижнее основание трапеции; и с – верхнее основание трапеции (рис. 4.14, б).

Аналитическая запись трапециевидной функции имеет вид

0, если < ;

, если ≤ ≤ ;

, , , , = 1, если < ≤ ; (4.16)

, если < ≤ ;

0, если > .

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

, а вторая – 2 .

= ,

 

;

 

Симметричная функция Гаусса зависит от

двух параметров и

 

(рис. 4.15, а):

 

 

 

 

 

 

 

−( − )2

 

(4.17)

, ,

=

2 2

 

 

124

 

 

 

Рис. 4.15. Простая (а) и двухсторонняя (б) функции принадлежности Гаусса

Пример 4.2. Программа использования функции принадлежности

.

= 0: 0.1: 10;

= , 2 5 ;, ;

Описание функции: у = 2 ( , [ 1, 1, 2, 2]). Выражение является комбинацией двух различных функций распределения Гаусса. Первая определяется параметрами 1 и 1 и задает форму левой стороны, а вторая (параметры 2, 2,) – правой стороны функции принадлежности. Если < 2, то функция 2 достигает своего максимального значения на уровне 1. Иначе – максимальное значение функции меньше 1 (рис. 4.15, б).

Пример 4.3. Программа использования функции принадлежности

2 .

= (0 0,1 10) ′ ;1 = 2 ( , [2 4 18]);

у2 = 2 ( , [2 5 17]); уЗ = 2 ( , [2 6 16]); у4 = 2 ( , [2 7 15]); у5 = 2 ( , [2 8 14]);( , [ 1 у2 уЗ у4 у5]);

Символ « » в строке определения базового множества показывает транспонированность базового множества.

Следующей функцией, которая позволяет представлять нечеткие субъек-

125

тивные предпочтения, является функция принадлежности «обобщенный коло-

кол» и обозначается (generalized bell shape membership function). Ее от-

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

= , ;

Функция «обобщенный колокол» зависит от трех параметров и имеет следующую аналитическую запись:

1, , , = 1 + 2 , (4.18)

где определяет расположение центра функции принадлежности; и влияют на форму кривой (рис.4.16).

Рис. 4.16. Функция принадлежности «обобщенный колокол»

, = [2 4 6]

Пример 4.4. Программа использования .

= 0 0,1 10; у = ( , [2 4 6]);

( , у);′, = 2 4 6 ;

Функции принадлежности на основе функции распределения Гаусса и функции принадлежности «обобщенный колокол» отличаются гладкостью и простотой записи. Они являются наиболее используемыми при описании нечетких множеств. Несмотря на то, что гауссовы и колоколообразные функции принадлежности обладают свойством гладкости, они не позволяют формировать асимметричные функции принадлежности. Для этих целей предусмотрен

126

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

и .

= ,

;

 

В аналитической форме сигмоидальная функция записывается

следующим образом:

 

 

 

 

 

, ,

1

 

 

(4.19)

= 1 + −(−).

 

 

 

 

 

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

отрицательно» и др.

 

 

 

Описание

дополнительной

сигмоидальной

функции:

у = ( , [ 1, 1, 2, 2]). Функция принадлежности зависит от четырех параметров 1, 1, 2 и 2 и определяется как разность двух сигмои-

дальных функций: 1( , 1, 1) − 2( , 2, 2) (рис. 4.17, б).

 

 

Описание

 

дополнительной

 

сигмоидальной

 

функции:

у = ( , [ 1, 1, 2, 2]). Функция принадлежности

так же,

как и предыдущая функция, зависит от четырех параметров 1,

1,

2, 2 и

определяется

как

произведение

двух

сигмоидальных

 

функций:

1( , 1, 1) 2{ , 2, 2) (рис. 4.17, в).

Рис. 4.17. Сигмоидальные функции принадлежности:

– основная односторонняя; б – дополнительная двухсторонняя;

в– дополнительная несимметричная

127

Пример 4.5. Программа использования сигмоидных функций (рис. 4.18).

х = 0: 0,1: 10;

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

(1, 3, 1);

– формируется матрица графиков (3 х 1) – первый

 

элемент – текущий.

 

 

= ( , [2 4]);

 

 

( , );

– выводится график в первый элемент матрицы.

′, =

2 4

;

(1, 3, 2);

– выбирается второй текущий элемент.

у = ( , [5 2 5 7]);

( , ) ;

– выводится график во второй элемент матрицы.

′, =

5 2 5 7 ;

(1, 3, 3);

– выбирается третий текущий элемент.

у = ( , [2 3 − 5 8]);

( , );

– выводится график в третий элемент матрицы.

( ′, = [2 3 − 5 8]′);

Рис. 4.18. Полиномиальные функции принадлежности: а – - функция; б – - функция; в – - функция

Инструментарий нечеткой логики (fuzzy logic toolbox) в составе Matlab предоставляет возможность формирования функции принадлежности на основе полиномиальных кривых. Соответствующие функции называются - функциями ( ), -функциями ( ) и 5-функциями ( ). Функция представляет собой асимметричную полиномиальную кривую, открытую слева

128

(рис. 4.18, а), функция – зеркальное отображение функции (рис. 4.18, б). Соответственно функция равна нулю в правом и левом пределах и принимает значение, равное единице, в середине некоторого отрезка

(рис. 4.18, в).

= , ;

Параметры и определяют экстремальные значения кривой (рис. 4.18, а).

= , с ;

Параметры и задают переход функции в нулевое значение, а параметры и — в единичное (рис. 4.18, б).

= , ;

Параметры а и b определяют экстремальные значения кривой (рис. 4.18, в). Пример 4.6. Программа использования полиномиальных кривых.

= 0: 0,1: 10;(1, 3, 1);

= ( , [3 7]); ( , ); (′, = [3 7]′);(1, 3, 2);

= ( , [1 4 5 10]); ( , ); (′, = [1 4 5 10]′);(1, 3, 3);

= ( , [1 8 ]); ( , ); ′, = 1 8 ;

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

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

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

Рассмотрим минимаксную интерпретацию логических операторов, в которой конъюнктивный оператор представляет нахождение минимума – (рис. 4.19, а), а дизъюнктивный – нахождение максимума – (рис. 4.19, б).

= 1; 2 ,

= ([ 1; 2]).

Параметры 1 и 2 представляют собой исходные функции принадлежности. Функция работает со списком функций принадлежности. В Matlab список оформляется квадратными скобками, а элементы списка разделяются точкой с запятой.

129

Рис. 4.19. Пересечение (а) и объединение (б) нечетких множеств (минимаксная интерпретация)

Пример 4.7. Программа использования операций и .

= 0: 0,1: 10;(1, 2, 1);

1 = ( , [3 5]); 2 = ( , [3 7]);З = ( [ 1; 2]); ( , [ 1; 2], ′: ′)

; ( , З); ;

(1, 2, 2);4 = ([ 1; 2]); ( , [ 1; 2] , ′: ′) ;

; ( , 4); ;

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

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

 

В рамках данной интерпретации конъюнктивный оператор представляет

собой

оператор

вычисления алгебраического

произведения

(рис.

4.20, а),

а дизъюнктивный оператор

– оператор

вычисления

алгебраической суммы — (рис. 4.20, б).

= 1 ; 2 ,= ([ 1; 2]).

130