MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Проектирование систем управления\Fuzzy Logic Toolbox

С.Д.Штовба "Введение в теорию нечетких множеств и нечеткую логику"

В оглавление книги \ К следующему разделу \ К предыдущему разделу

13. Построения функций принадлежности на основе экспертной информации

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

В разделе рассматриваются два метода построения функций принадлежности. Первый метод основан на статистической обработке мнений группы экспертов. Второй метод базируется на парных сравнениях, выполняемых одним экспертом. Изложение первого метода базируется на книге [1], второго - на работах [1-5].

13.1. Метод статистической обработки экспертной информации

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введем следующие обозначения: K - количество экспертов;   - мнение k-го эксперта о наличии у элемента свойств нечеткого множества , , , . Будем считать, что экспертные оценки бинарные, т.е.: , где 1 (0) указывает на наличие (отсутствие) у элемента свойств нечеткого множества . По результатам опроса экспертов, степени принадлежности нечеткому множеству () рассчитываются следующим образом:

, . (12.1)

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

Таблица 12.1 - Результаты опроса экспертов

k

термы

[160, 165)

[165, 170)

[170, 175)

[175, 180)

[180, 185)

[185, 190)

[190, 195)

[195, 200)

Эксперт 1

низкий

1

1

1

0

0

0

0

0

средний

0

0

1

1

1

0

0

0

высокий

0

0

0

0

0

1

1

1

Эксперт 2

низкий

1

1

1

0

0

0

0

0

средний

0

0

1

1

0

0

0

0

высокий

0

0

0

0

1

1

1

1

Эксперт 3

низкий

1

0

0

0

0

0

0

0

средний

0

1

1

1

1

1

0

0

высокий

0

0

0

0

0

1

1

1

Эксперт 4

низкий

1

1

1

0

0

0

0

0

средний

0

0

0

1

1

1

0

0

высокий

0

0

0

0

0

0

1

1

Эксперт 5

низкий

1

1

0

0

0

0

0

0

средний

0

1

1

1

0

0

0

0

высокий

0

0

0

1

1

1

1

1

Результаты обработки экспертных мнений представлены в таблице 12.2. Числа над пунктирной линией - это количество голосов, отданных экспертами за принадлежность нечеткому множеству соответствующего элемента универсального множества. Числа под пунктирной линией - степени принадлежности, рассчитанные по формуле (12.1). Графики функций принадлежностей показаны на рис. 12.1.

Таблица 12.2 - Результаты обработки мнений экспертов

термы

[160, 165)

[165, 170)

[170, 175)

[175, 180)

[180, 185)

[185, 190)

[190, 195)

[195, 200)

низкий

5

4

3

0

0

0

0

0

1

0.8

0.6

0

0

0

0

0

средний

0

2

4

5

3

2

0

0

0

0.4

0.8

1

0.6

0.4

0

0

высокий

0

0

0

1

2

4

5

5

0

0

0

0.2

0.4

0.8

1

1

Рисунок 12.1 - Функции принадлежности нечетких множеств из примера 12.1

Для автоматизации расчетов при построении функций принадлежности предлагается следующая программа:

function mu=vote2mu(vote)
%Построение функции принадлежности на основе статистической обработки
%голосования экспертов.
%Расчитывает степени принадлежности (mu) по количество голосов (vote),
%отданных экспертами за наличие у элемента свойств нечеткого множества.
%Размеры vote и mu: 
%   количество_термов Х количество_элементов_универсального_множества.
%Автор - Штовба С.Д., www.vinnitsa.com/shtovba
%Винницкий национальный технический университет

%Максимальное число голосов, отданных за принадлежность элемента к каждому
%нечеткому множеству:
max_vote=max(vote')';
[n1, n2]=size(vote);
%Нормализованные степени принадлежности:
mu=vote./repmat(max_vote, 1, n2);

Для расчета степеней принадлежности для данных примера 12.1 необходимо напечатать:

vote=[5 4 3 0 0 0 0 0; 0 2 4 5 3 2 0 0; 0 0 0 1 2 4 5 5];
mu=vote2mu(vote)

В результате получаем:

mu =
1    0.8    0.6      0     0      0      0    0
0    0.4    0.8      1    0.6    0.4     0    0
0     0      0      0.2   0.4    0.8     1    1

В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика