Разработка методики анализа инновационного проекта с помощью экспертной системы, реализованной на базе нечеткой логики и нечетких множеств, страница 2

Практическое использование теории нечетких множеств предполагает наличие функций принадлежностей, которыми описываются лингвистические термы «низкий», «средний», «высокий» и т.п. [10]. При построении функции принадлежности вручную по методу, основанному на статистической обработке мнений групп экспертов, каждый эксперт заполняет анкету, в которой указывает свое мнение о наличии у элементов универсального множества (критериев) ui () свойств нечеткого множества термов lj  ().

Анкета имеет следующий вид (табл.4.2):

Таблица 4.2

Анкета свода мнений экспертов

u1

u2

un

l1

l2

lm

Вводятся параметры:

 К – количество экспертов; bk – мнение к-го эксперта о наличии у элемента ui свойств нечеткого множества   lj ,  , .

Считают, что экспертные оценки бинарные, т.е. bkj,i  {0;1}, где 1 указывает на наличие у элемента ui свойств нечеткого множества lj , а 0 – на их отсутствие.

По результатам анкетирования степени принадлежности нечеткому множеству lj рассчитываются так [9]:

                                      (4.1)

Рис.4.1 Пример графиков функций принадлежности нечетких множеств

Построить входные функции принадлежности в пакете расширений Fuzzy Logic Toolbox среды MatLab значит:

·  создать матрицу нечеткого вывода: набрать в командном окне MATLAB: >>fuzzy  и нажать Enter.

·  Выбрать тип системы: Мамдани (Mamdani) или Сугено (Sugeno). Выбор осуществляется с помощью меню File->NewFis->Mamdani. Выбираем систему Mamdani (она стоит по умолчанию).

·  С помощью редактора систем нечеткого вывода FIS Editor в матрице системы нечеткого вывода задать необходимое число входов. Данное число соответствует числу основных критериев, определенных на этапе 4.1 выбора предпочтительности ИП, например, это число равно 4 (рис.4.2). Изначально у системы один вход Input1, чтобы добавить второй (третий, четвертый и т.д.) вход, необходимо воспользоваться меню Edit->AddVariable…->Input.

Рис.4.2 Редактор систем нечеткого вывода

·  Переименовать входы. Эта процедура обязательна и необходима в дальнейшем для составления правил. Для того чтобы переименовать вход, нужно выделить его, при этом вокруг появится жирная красная рамка, и в окне Name изменить название (Input1, Input2, Input3, Input4) на необходимые (Effektivnost, Risk, Stoimost, Upravlyaemost). Результаты переименования приведены на рис.4.3.

·  Редактирование входных функций принадлежности. Для редактирования предназначен редактор Membership Function Editor, войти в который можно либо путем двойного нажатия на любой вход или выход системы, либо с помощью меню Edit->MembershipsFunctions. Прежде чем редактировать любую из функций, её надо выделить. Пусть это будет вход «Effektivnost». При этом рамка вокруг него становится красного цвета. По умолчанию для входов используются треугольные функции ошибки. Заменим их на необходимые функции. Для этого сначала удаляем существующие функции с помощью меню Edit->RemoveallMFs. А затем добавляем 3 необходимые функции с помощью меню Edit->AddMFs. В появившемся окне следует выбрать тип функции и их количество (3) (смотр. рис.4.4) и нажать OK.

Рис.4.3 . Переименованные входы системы нечеткого вывода

Рис.4.4 Окно установки типа и количества входных функций принадлежности

·  Затем задается диапазон изменения функций. Пусть для входа «Effektivnost» он будет от 0 до 100 процентов. Диапазон задается в левой нижней части окна редактора функций принадлежности в поле Range.

·  Переименование функций принадлежности, что понадобится потом при составлении правил. Переименование осуществляется путем выделения интересующей функции (например, mf1) и заменой в поле Name текущего названия на необходимое. Очевидно, что максимум функции принадлежности mf1 соответствует низкой («nizkaya») эффективности, максимум функции mf2 – средней («srednyaya»), максимум функции mf3 – высокой («visokaya»). Результат редактирования функции принадлежности входа «Effektivnost» приведены на рис.4.5.

Рис.4.5 Редактирование функций принадлежности входа «Effektivnost»

Аналогичные действия необходимо провести над всеми входами. Формализованные лингвистические переменные, значения диапазонов изменений функций и наименования значений представлены в таблице 4.2.