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

Рачетно-графическая работа №1

.pdf
Скачиваний:
23
Добавлен:
16.05.2015
Размер:
653.96 Кб
Скачать

11

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

Определение этих операций рассмотрим на примере двух нечетких переменных A1, A2, которые заданы своими трапециевидными функциями принадлежности: A1(x) = <m1, n1, l1, k1>, A2(x) = = <m2, n2, l2, k2>. Результатом операций будет нечеткая переменная A , параметры функции принадлежности которой определяются в соответствии с табл. 1.

Таблица 1 Основные арифметические операции над нечеткими переменными

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

Тип операции

Зависимости для вычисления параметров

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

 

A = A1 + A2

m = m1 + m2; n = n1 + n2;

l = l1 + l2; k = k1 + k2

 

A = A1 A2

m = m1 - n2; n = n1 - m2;

l = l1 + k2; k = k1 + l2

 

 

m = m1*m2; n = n1*n2;

A = A1 * A2

l = m1*m2 – (m1 - l1)*(m2 l2);

 

k = (n1 + k1)*(n2+k2) – n1*n2

 

m = m1/n2; n = n1/m2;

A = A1 / A2

l = (m1*k2 + n2*l1) / (n2*n2+n2*k2);

 

k = (m2*k1 + n1*l2) / (m2*m2 - m2*l2)

На основе приведенных описаний арифметических операций можно для рассматриваемого примера определить оценку бюджета с учетом долгов T как сумму трех источников финансирования минус предполагаемые платы по кредиту. Причем результат будет также нечеткой переменной T = А + В + С - D = (50+100+0 - 80, 70+110+0 - 80, 10+0+0 + 20, 30+0+20 + 30) = (70, 100, 30, 80). Ее функция при-

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

12

T (x)

Рис. 7. Результирующее нечеткое описание бюджета

Таким образом, в бюджете может быть сумма от 40 до 180 млн, но с наибольшей степенью истинности можно говорить о суммах от

70 до 100млн.

Наряду с нечеткой переменной существует понятие лингвисти-

ческой переменной.

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

Например, лингвистическая переменная «скорость» может принимать значения «малая», «средняя», «большая». Каждое такое значение является отдельной нечеткой переменной и представляется соответствующими нечеткими множествами.

Математическая лингвистическая переменная описывается пятеркой параметров <x, T(x), X, G, M>, где

x – имя переменной;

T(x) – множество термов или имен лингвистических значений переменной x. Терм, который состоит из одного слова или из нескольких слов, всегда используемых вместе друг с другом, называется атомарным. В свою очередь терм, который состоит из более чем одного атомарного терма, называется составным.

X – базовое множество, на котором задаются нечеткие множества, связанные с основными лингвистическими значениями переменной x;

13

G – синтаксическое правило для образования имен новых значений (термов) лингвистической переменной x. Как правило, для этого используются усиливающие или ослабляющие основное значение фразы «не», «не очень», «достаточно», «очень» и т.п.;

M – математическое правило для определения вида функции принадлежности каждого значения лингвистической переменной.

Следуя примеру, лингвистическая переменная «скорость» будет иметь следующее математическое описание.

x – «Скорость»;

X – множество вещественных чисел из интервала [0..120]; T(X) – значения «малая», «средняя», «большая»;

G – «не средняя скорость», «не очень малая скорость», «достаточно большая скорость», «очень большая скорость» и т.п.

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

3.4. Алгоритмы нечеткой логики

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

Традиционным для организации нечеткого логического вывода является применение правила Modus Ponens, но с его корректировкой под нечеткие множества. В этом случае данное правило определяется

следующей схемой вывода:

x это

A', A B

. Оно означает «ЕСЛИ

y

это B'

 

 

факт x это A’ является истинным и истинна импликация A B, ТО факт y это B’ также является истинным». Здесь A, A’ X и B, B’ Y

14

– нечеткие множества, определенные на соответствующих полных множествах X, Y. Факты x , y представляют лингвистические переменные. Функция принадлежности результирующего нечеткого множества B’ зависит от функции принадлежности A B(x, y) нечеткой импликации A B. Пусть A и B – это нечеткие множества, A X и B Y . Нечеткой импликацией A B называется нечеткое отношение R, определенное на X Y и удовлетворяющее следующему правилу (типа minimum)

A B(x, y) R(x, y) A(x) B(y) min[ A(x), B(y)]).

Для нахождения результата нечеткого вывода по правилу Modus Ponens необходимо построить нечеткое множество B’. Оно опреде-

ляется выражением B' A' (A B). Здесь операция

«» означает

композицию (свертку) нечетких множества A’ и отношения A B.

Функция принадлежности результирующего нечеткого множества

B’

будет иметь следующую форму записи:

 

 

B'(y) max{min[ A'(x), A B(x, y)]}

.

(1)

x X

 

 

Следующий пример иллюстрирует нечеткий логический вывод по правилу Modus Ponens.

Известно, что уровень внутреннего шума автомобиля зависит от скорости его движения. Предположим, что даны полные множества возможных скоростей X = {60, 70, 80, 90, 100} (км/ч) и полное множество Y = {50, 55, 60, 65, 70,} (дБА – децибел акустический) со значениями уровня шума. Также задано правило R1: «ЕСЛИ скорость автомобиля большая, ТО уровень шума - высокий». С помощью нечеткого логического вывода требуется определить, какой будет уровень шума, если скорость автомобиля около 70 км/ч.

Алгоритм решения этой задачи будет состоять из следующих шагов.

Шаг 1. Введем две лингвистические переменные x – скорость движения, y - уровень шума. Тогда Tx = {«большая», «около 70 км/ч»}, Ty = {«высокий»} - это соответственно множество значений лингвистических переменных x, y. Определим для имеющихся термов нечеткие множества.

A: «большая скорость» = 0/60 + 0,3/70 + 0,7/80 + 1/90 + 1/100;

B: «высокий уровень шума» = 0/50 + 0,3/55 + 0,5/60 + 0,7/65 + 1/70;

15

A’: «скорость около 70 км/ч» = 0,3/60 + 0,7/65 + 1/70 + 0,7/75 + + 0,3/80;

Теперь данная задача формально может быть записана в виде

известной схемы вывода

x это

A', A B

. Требуется получить не-

y

это B'

четкое множество B’.

Шаг 2. Формализуем нечеткое правило R1 как нечеткое отношение A B. Для вычисления функции принадлежности нечеткой импликации будем использовать правило типа minimum.

R(x1,y1) = min(0;0) = 0; R(x1,y2) = min(0;0,3) = 0;

R(x1,y3) = min(0;0,5) = 0; R(x1,y4) = min(0;0,7) = 0;

R(x1,y5) = min(0;1) = 0.

R(x2,y1) = min(0,3;0) = 0; R(x2,y2) = min(0,3;0,3) = 0,3;

R(x2,y3) = min(0,3;0,5) = 0,3; R(x2,y4) = min(0,3;0,7) = 0,3;

R(x2,y5) = min(0,3;1) =0,3.

R(x3,y1) = min(0,7;0) = 0; R(x3,y2) = min(0,7;0,3) = 0,3;

R(x3,y3) = min(0,7;0,5) = 0,5; R(x3,y4) = min(0,7;0,7) = 0,7;

R(x3,y5) = min(0,7;1) =0,7.

R(x4,y1) = min(1;0) = 0; R(x4,y2) = min(1;0,3) = 0,3;

R(x4,y3) = min(1;0,5) = 0,5; R(x4,y4) = min(1;0,7) = 0,7;

R(x4,y5) = min(1;1) =1.

R(x5,y1) = min(1;0) = 0; R(x5,y2) = min(1;0,3) = 0,3;

R(x5,y3) = min(1;0,5) = 0,5; R(x5,y4) = min(1;0,7) = 0,7;

R(x5,y5) = min(1;1) =1.

В итоге значения функции принадлежности нечеткого отношения A B будут иметь следующий вид:

 

A(X), B(Y)

y1

y2

y3

Y4

y5

 

x1

0

0

0

0

0

R1 =

x2

0

0,3

0,3

0,3

0,3

x3

0

0,3

0,5

0,7

0,7

 

 

x4

0

0,3

0,5

0,7

1

 

x5

0

0,3

0,5

0,7

1

16

Шаг 3. Определим искомое нечеткое множество B’. Для этого по ранее записанной формуле (1) вычислим результат выражения

B' A' R.

 

0,0

0,0

0,0

0,0

0,0

 

 

 

0,3

0,3

0,3

0,3

 

 

B' 0,3 0,7 1 0,7

0,0

 

0,7

0,3 0,0

0,3

0,5

0,7

0,7

0 0,3 0,5 0,7

 

 

0,3

0,5

0,7

1,0

 

 

 

0,0

 

 

 

 

0,3

0,5

0,7

1,0

 

 

 

0,0

 

 

B'(y1) max{min(0,3;0);min(0,7;0);min(1;0);min(0,7;0);min(0,3;0)} 0;

B'(y2) max{min(0,3;0);min(0,7;0,3);min(1;0,3);

;

min(0,7;0,3);min(0,3;0,3)} 0,3

B'(y3) max{min(0,3;0);min(0,7;0,3);min(1;0,5);; min(0,7;0,5);min(0,3;0,5)} 0,5

B'(y4) max{min(0,3;0);min(0,7;0,3);min(1;0,7);

;

min(0,7;0,7);min(0,3;0,7)} 0,7

B'(y5) max{min(0,3;0);min(0,7;0,3);min(1;0,7); min(0,7;1);min(0,3;1)} 0,7.

Таким образом, нечеткое множество B’ = 0/50 + 0,3/55 + 0,5/60+ + 0,7/65 + 0,7/70.

Шаг 4. Для анализа полученного решения на рис.8 приведен график функции принадлежности результата нечеткого вывода.

B'

Рис.8. График функции принадлежности

нечеткого множества B’

Анализ графика позволяет вербально оценить уровень шума при скорости около 70 км/ч как «не очень высокий» или «до некоторой степени высокий».

17

Шаг 5. Для представления решения не в форме нечеткого множества, а в виде единственного четкого числового значения y* к B’ применяется процедура дефаззификации. Существуют различные методы деффазификации, например метод максимума. Он состоит в следующем. Выбирается элемент нечеткого множества с наибольшим значением функции принадлежности. Если такой элемент неединственный, то выбирается крайний (левый, правый) либо в качестве результирующего четкого значения y* принимается среднее арифметическое значение координат локальных максимумов.

Полученная функция принадлежности содержит два локальных максимума ( B'(65) B'(70) 0,7), поэтому определим четкое значение уровня шума как их среднее значение: y* = (65 + 70)/2 = 67,5 дБА.

Согласно теореме FAT (Fuzzy Approximation Theorem), любая математическая система может быть аппроксимирована системой, основанной на нечеткой логике.

Обычно, говоря о разработке системы управления с нечеткой логикой, подразумевают программирование модуля нечеткого управления. Классический модуль нечеткого управления имеет следующую блочную структуру (рис.9).

База

правил

x*

 

 

 

 

 

 

 

 

 

 

y*

Блок

 

 

 

 

 

 

Блок

 

 

фаззификации

 

 

 

 

~(k)

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A' X

 

 

,k 1,...,N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

вывода

(B')

 

 

 

 

 

 

 

 

 

 

Рис. 9. Модуль нечеткого управления

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

ритм Такаги-Сугено. В нем правила R(k) условной части, тогда как в заключении ные зависимости.

, k = 1..N нечетки только в указываются функциональ-

18

R(k) :ЕСЛИ(x1 это A1(k) И x2 это A2(k) ... И xn это An(k)),.

ТО yk f (k)(x1,x2,...,xn)

Пусть на вход модуля нечеткого управления подаются значения входных переменных x* (x1*,x2*,...,xn*). Требуется определить значения выходной переменной y* на основе двух следующих правил:

R(1) :ЕСЛИ(x1

это A1(1)

И x2 это A2(1)) ТО y1 f (1)(x1, x2);

R(1) :ЕСЛИ (x1

это A1(2)

И x2 это A2(2)) ТО y2 f (2)(x1, x2).

Здесь A(1)

,A(1)

,A(2)

,A(2)

, f (1), f (2) - заданные нечеткие множества

1

2

1

2

 

и функциональные зависимости соответственно. Также известны входные переменные с четкими значениями x* (x1*,x2*)T . Требуется определить четкое значение выходной переменной y*, соответствующей значениям этих входных переменных.

Порядок выполнения алгоритма Такаги-Сугено приведен ниже. Шаг 1. Фаззификация входных переменных x1 *, x2 * и определение значений их функций принадлежности соответствующим

нечетким множествам: A1(1) (x1*), A1(2) (x1*), A2(1) (x2*), A2(2) (x2*).

Шаг 2. Определение уровней отсечения функций принадлежности фактов каждого из правил с использованием операции minimum

1 min[ A1(1)

(x1*), A2(1) (x2*)];

2 min[ A1(2) (x1*), A2(2) (x2*)].

Шаг 3. Вычисление значений индивидуальных выходов каждо-

го из правил

 

 

 

 

 

 

y * f (1)

(x *,x *),

y

* f (2)(x *,x *).

1

1

2

2

 

1

2

Шаг 4. Определение четкого значения выходной переменной y* как нормализованной взвешенной суммы отдельных выходов y1* , y2* каждого правила

y* 1y1* 2y2 *.

1 2

Пример. С помощью алгоритма Такаги-Сугено для заданных правил

R(1) :ЕСЛИ (x1 этобольшое И x2 этосреднее), ТО y1 2 7x1 3x2;

R(2) :ЕСЛИ(x1 этомалое И x2 этомалое), ТО y2 2x1 5x2 ;

определить значение выходной переменной y*, если x1* = 2, x2* = 3.

19

На рис.10 приведены нечеткие множества, используемые в примере.

(x1)

 

A1(2)

(x2)

 

 

A2(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A(1)

 

 

(1)

 

 

1

 

 

 

 

 

 

 

 

A

 

 

 

 

 

2

 

 

 

 

 

 

 

x1* 2

x2* 3

 

Рис. 10. Нечеткие множества примера

Шаг 1. A1(1)

(x1*) = A1(1) (2) = 0,3;

A1(2) (x1*) = A1(2) (2) = 0,75;

A2(1)

(x2*) = A2(1) (3) = 0,7;

A2(2) (x2*) = A2(2) (3) = 0,2.

Шаг 2. 1 min[ A1(1) (x1*), A2(1) (x2*)] = min[0,3; 0,7] = 0,3;

2 min[ A1(2) (x1*), A2(2) (x2*)] = min[0,75; 0,2] = 0,2.

Шаг 3.

y * f (1)(2,3) 7

;

y

* f (2)(2,3) 11.

 

1

1y1* 2y2 *

 

2

 

0,3 7 0,2 11

 

Шаг 4.

y*

 

=

 

8,6.

 

 

 

 

 

 

 

 

2

 

 

 

 

0,3 0,2

 

1

 

 

 

 

 

 

4. ВАРИАНТЫ ЗАДАНИЙ

Для выполнения индивидуальных заданий студенту предлагается два нечетких понятия, список которых повариантно приведен в табл. 2

Таблица 2 Нечеткие понятия для выполнения индивидуальных заданий

Понятие X

Понятие Y

варианта

 

 

1

Рост человека

Вес

2

Тираж издания

Стоимость экземпляра

3

Срок эксплуатации автомобиля

Стоимость

 

20

 

 

 

Окончание табл. 2

Понятие X

Понятие Y

варианта

 

 

4

Температура в помещении

Положение охлаждающего

вентиля

 

 

5

Дальность проезда на поезде

Стоимость билета

6

Масса автомобиля

Уровень шума

7

Размер территории

Плотность населения

8

Номер ряда в зрительном зале

Стоимость билета

9

Величина стажа работы

Размер пенсии

10

Плотность записи на диск

Объем диска

11

Тактовая частота процессора

Стоимость

12

Плотность жидкости (V = const)

Масса жидкости

13

Число студентов

Количество учебников в

библиотеке

 

 

14

Объем копируемых данных

Время

15

Расстояние до поворота

Скорость движения

автомобиля

 

 

16

Число специальностей

Количество студентов

17

Этажность дома

Число квартир

18

Скорость ветра

Высота волны

19

Размер аудитории

Число студентов

20

Суммарный бал ЕГЭ

Возможность поступления

на бюджетное место

 

 

Над соответствующими варианту нечеткими понятиями X, Y необходимо выполнить ряд действий, последовательность выполнения которых указана далее.

1.Каждое из нечетких понятий представить в виде лингвистической переменной X, Y с тремя нечеткими значениями (XA, XB, XC; YA, YB, YC) соответственно.

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

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