Анализ алгоритмов нечеткого вывода при решении задачи подбора программного обеспечения в
сфере образования
Рогозин О.В., к.т.н.,Матвеева Е.А. МГТУ им.Баумана, oro gozin@mail. ru
Аннотация
В представленной статье рассматриваются сравнительные характеристики основных алгоритмов нечеткого вывода на примере решения многоатрибутной подбора программного обеспечения в сфере образования.
Задача подбора программного обеспечения является трудноформализуемой и требует учета ряда альтернативных решений для выбора эффективного. Для оценки эффективности выбора альтернативных решений на основе качественных оценок необходимо основываться на определенном подходе: во-первых использовать стандарты, чтобы обеспечить объективность сравнения программных средств , во-вторых, опираться на комплексный системный подход, чтобы гарантировать полноту и объективность результатов, в-третьих, обеспечить учет пользовательских предпочтений.
Качественные показатели ПО
Функциональность. В первую очередь продукт должен обеспечивать реализацию необходимых функций, корректность их выполнения. Набор функций будет различным в таких группах ПО как программы моделирования, оптимизации, машинной графики, управления объектами и т.п., поэтому для каждой группы программ после предварительного проведения классификации ПО нужно устанавливать свои способы оценки функциональности.
Защищенность и целостность. В коммерческих организациях большое значение имеют конфиденциальность, блокировка неавторизованного доступа к функциями данным, предотвращение потери информации. Целостность очень важна для Интернет-приложений.
Надежность. Показатель надежности наиболее важен для систем, выполняющих ответственные функции. Чем серьезнее могут быть последствия сбоя в применяемой системе, тем выше требования к ее надежности.
Эффективность. Эффективность приобретает наибольшее значение в системах с большим количеством пользователей, обрабатывающих большие объемы данных или производящих сложные расчеты. Эффективность также определяет минимальную конфигурацию необходимого оборудования.
Сопровождаемость. Сопровождаемость имеет значение при необходимости регулярных обновлений программного продукта (например, для антивирусов).
Переносимость и способность к взаимодействию. Переносимость зависит от уже используемых в организации программ, необходимости взаимодействия их с новой системой, а также от операционной системы и наличия сети.
Изучаемость и простота использования. Программы со сложным интерфейсом и значительной трудоемкостью освоения операций пользования программой отвлекают обучаемого от основного предмета изучения, приводят к нерациональным затратам времени.
Выбор алгоритма принятия решения
Выбор алгоритма принятия решения зависит от особенностей решаемой задачи и модели системы принятия решения. Задача подбора программного обеспечения имеет следующие особенности:
• Задача является слабо структурированной, то есть содержит преимущественно качественные критерии оценки альтернатив.
• Критерии альтернатив представляют из себя иерархическую структуру: атрибуты качества ПО детализируются более конкретными субхарактеристиками.
• Число альтернатив заранее неизвестно, количество и состав альтернатив в задаче может изменяться.
• Некоторые значения критериев взаимосвязаны и зависят друг от друга. В табл.1.6.1 показана взаимосвязь соответствующих атрибутов: знак «+» означает, что увеличения величины атрибута в соответствующей строке позитивно влияет на атрибут в соответствующем столбце. Знак «-» означает негативное влияние, а пустая ячейка означает, что атрибут строки оказывает
незначительное влияние на атрибут столбца. Например, увеличение гибкости, целостности, способности программы к взаимодействию и других атрибутов наверняка скажется как на времени отклика, так и на объеме занимаемой памяти и приведет к падению эффективности. Эти закономерности могут использоваться для проверки объективности имеющихся данных, а также учитываться в случае недостающих данных.
Доступность Эффективност Гибкость Целостность Способность к Легкость в Переносимост Надежность Устойчивость . „г Удобство и
Доступность + +
Эффективность - - - - - -
Гибкость - - + + -
Целостность - - + -
Способность к - + - +
взаимодействию
Изучаемость + - + +
Переносимость - + + - -
Надежность + - + + + +
Устойчивость к + - + +
сбоям
Удобство и - +
простота
использования
Таблица 0 Взаимосвязи атрибутов качества ПО
Для применения данной программы в различных областях и для оценки программных продуктов различных классов необходимо обеспечить гибкость модели системы принятия решений:
• возможность изменения состава структуры критериев, добавление новых или удаления существующих критериев; • возможность изменения списка альтернатив, добавление и удаление программных продуктов, подлежащих оценке;
Построение системы нечеткого вывода для задачи подбора ПО
В качестве лингвистических переменных в рамках данной задачи выступают критерии оценки ПО. Для них задаются такие термы, как «Низкий», «Средний», «Высокий» и т.д. Каждому терму лингвистической переменной соответствует нечеткое множество и функция. С помощью функции принадлежности определяются степени принадлежности каждого элемента глобального множества данному терму. Элементами глобального множества являются численные экспертные оценки характеристик программного продукта по некоторой шкале.
На вход алгоритма нечеткого вывода подаются четкие значения характеристик альтернатив (экспертные оценки программных продуктов). Выходной переменной системы является лингвистическая переменная «Полезность», характеризующая предпочтительность выбора альтернативы.
Для реализации алгоритма принятия решения с помощью нечеткого вывода необходимо описать правила, по которым осуществляется связь между различными характеристиками и выходным значением полезности альтернатив. Сравнение альтернатив и принятие решения производится с помощью продукционных правил. Каждое продукционное правило состоит из одной или нескольких посылок и заключения. Если посылок несколько, они связываются логическим «И». Продукционное правило имеет вид:
ЕСЛИ посылка [И посылка ...], ТО заключение,
где посылка и заключение являются нечеткими высказываниями.
Например:
ЕСЛИ Надежность высокая и Изучаемость средняя, ТО Полезность высокая.
Используемые для вывода правила учитывают характеристики альтернатив по всем критериям и степени важности каждой их характеристик для пользователя. Чем выше степень важности некоторой характеристики для пользователя, тем более высокую оценку по соответствующему критерию должна иметь альтернатива.
На основе имеющихся правил делаются соответствующие заключения для выходной переменной. Заключения правил объединяются для получения четких значений переменной полезности. Полученные четкие значения являются численными оценками предпочтительности альтернатив.
Алгоритмы нечеткого вывода
Пусть х, у - входные переменные, имеющие четкие значения х0, у0.
2 - выходная переменная. Заданы функции принадлежности А1, А2, В1, В2, С1, С2 и правила: Если х есть А1 и у есть В1, ТО 2 есть С1, Если х есть А2 и у есть В2, ТО 2 есть С2
1. Алгоритм Mamdani
В системах типа Машдаш база знаний строится из нечетких высказываний вида «в есть а» с помощью связок «И», «ЕСЛИ-ТО»:
ЕСЛИ х высокий И у средний, ТО ъ высокий Этапы нечеткого вывода реализуются следующим образом:
1. Фаззификация: находятся степени истинности для предпосылок каждого правила: А1(хо), А2(хо), В1(уо), В2(уо).
2. Вывод: находятся уровни отсечения для предпосылок каждого из правил с использованием операции минимум:
« = А (хо )л В1 (у о),
а2 = А2 (хо)л В2 (уо),
где л - операция логического минимума. Затем находятся усеченные функции принадлежности: с;(2 )=(« л с (2)), С 2 (2 )= (а 2 л С 2 (2 ))
3. Композиция: с использованием операции максимум (обозначается как «V») производится объединение найденных усеченных функций, что приводит к получению итогового нечеткого подмножества для переменной выхода с функцией принадлежности:
т 2 (2) = С (2) = С1(2) V С 2 (2) = («1 Л С (2)) V (а 2 л С 2 (2)) (1)
4. Приведение к четкости для получения г0 производится методом центра тяжести.
Рисунок 2 Алгоритм Mamdani
2. Алгоритм Тэикато^
Исходные данные и база знаний такие же, как и в алгоритме Mamdani, но предполагается, что функции С^), С2^) являются монотонными. Этапы нечеткого вывода:
1. Фаззификация: находятся степени истинности для предпосылок каждого правила: Al(xo), A2(xo), Bl(yo), B2(yo).
2. Вывод: Находятся уровни отсечения для предпосылок каждого из правил с использованием операции минимум:
а = 4 (*0 )л Вх (у 0), а2 = А2 (Х0 )Л В2 (У0 ),
где л - операция логического минимума.
Затем находятся четкие значения ъ1 и ъ2 из уравнений
« = С1(2), «2 = С 2 (2 )
3. Определяется четкое значение переменной вывода, как взвешенное среднее ъ1 и 22:
«1 21 + «2 2 2
2о = —-— (2)
а1 + а 2
В общем случае четкое значение 2о определяется по формуле метода центра тяжести.
П11П
УО У ¿2
Рисунок 3 Алгоритм Т8ыкато1о
3. Алгоритм 8^епо
В алгоритме 8и§епо ,аза знаний строится из правил в следующей форме: Если х есть А1 и у есть В1, ТО 21 = а1 х + Ь1 у, Если х есть А2 и у есть В2, ТО 22 = а2 х + Ь2у Этапы нечеткого вывода:
1. Фаззификация: находятся степени истинности для предпосылок каждого правила: А1(хо), А2(хо), В^уо), В2(уо).
2. Вывод: Находятся уровни отсечения для предпосылок каждого из правил с использованием операции минимум:
«1 = А1 (х0 )л В1 (У 0 ) , «2 = А2 (х0 )Л В2 (У0 )
Находятся индивидуальные выходы правил: г *1 = а1 х + Ъ1 у г *2 = а2х + Ъ2у 3. Определяется четкое значение переменной вывода:
г 0 =
« г * +«2 г *2 « + а 2
(3)
Рисунок 4 Алгоритм Sugeno
4. Алгоритм Ьагееп
Вид базы знаний совпадает с видом базы знаний для алгоритма Mamdani.
1. Нечеткость: находятся степени истинности для предпосылок каждого правила: Al(xo), A2(xo), Bl(yo), B2(yo).
2. Вывод: находятся уровни отсечения для предпосылок каждого из правил с использованием операции минимум:
«1 = А1 (х0 )л В1 (У 0 ) ,
«2 = А2 (х0 )л В2 (У0 ) ,
где л - операция логического минимума.
В алгоритме Ьа^еп нечеткое подмножество переменной вывода для каждого правила находится с использованием оператора умножения по формуле (1.15):
С 1(2 МаС (2)),
С 2 (2 ) = (а 2С 2 (2))
3. Композиция: с использованием операции максимум (обозначается как «V») производится объединение найденных частных нечетких подмножеств. Находится итоговое нечеткое подмножество для переменной выхода с функцией принадлежности:
ту (2) = с(2)=С(2^ с2 (2) = («С (2(а2С2 (2))
п
(в общем случае ту (2) = v(a(2)) (4 )
у ¿=1
4. Приведение к четкости также производится методом центра тяжести.
Рисунок 5 Алгоритм Larsen
Выбор алгоритма нечеткого вывода
Применяемые в данной задачи характеристические функции не всегда являются монотонными (функции П и Л типов), что исключает применение метода Tsukamoto. Одной из основных причин использования нечеткой логики для механизма оценки является возможность задания требуемой зависимости на языке, близком к естественному. Наиболее подходящие базы для этого базы знаний применяются в методах Mamdani и Larsen.
Для выбора наилучшего алгоритма нечеткого вывода были проведены сравнения результатов работы методов Mamdani, Sugeno, Larsen и метода MAUT. Поскольку метод MAUT является основным методом многокритериальной теории полезности, для реализации был выбран алгоритм, который дал оценки, наиболее близкие к оценкам метода MAUT. Алгоритмы тестировались на одинаковых наборах данных.
Для сравнения использовался набор программных продуктов, включающий 8 интернет-браузеров, а также условно наилучшую и наихудшую альтернативу. Для каждого программного продукта были заданы экспертные оценки по критериям: доступность, гибкость, защищенность, изучаемость, эффективность, взаимодействие с программами, надежность и простота использования. Для наилучшей и наихудшей альтернативы были заданы соответственно наиболее высокие и наиболее низкие оценки по всем критериям.
Сравнение методов было проведено для двух случаев: в первом случае для всех критериев был задан средний уровень важности. При этом оценки по каждому из критериев имеют одинаковое влияние на переменную выхода.
Полученные оценки представлены в таблице 2
ПО MAUT Нечеткий вывод (Mamdani) Нечеткий вывод (Sugeno) Нечеткий вывод (Larsen)
Наилучшая альтернатива 10,000 8,500 10,000 8,500
Opera 8,175 8,386 6,409 8,395
Mozilla Firefox 7,825 8,5 5,593 8,5
Netscape 7,700 8,5 5,055 8,5
SeaMonkey 7,150 7,985 6,061 8,009
Internet Explorer 6,900 7,790 6,295 7,938
Dr. Orca 6,725 8,125 5,285 8,125
K-Meleon 6,675 7,934 5,688 7,961
Maxthon 6,225 7,875 4,324 7,875
Наихудшая альтернатива 0,000 0,000 0,000 0,000
Таблица 2 Оценки альтернатив при среднем уровне важности всех критериев, полученные с использованием алгоритмов MAUT, Mamdani, Sugeno, Larsen
Были заданы след
Доступность
Гибкость
Защищенность
Изучаемость
Эффективность
Взаимодействие с
программами
Надежность
Простота использования
ющие требуемые уровни критериев:
Средняя
Высокая
Очень высокая
Не имеет значения
Высокая
Не имеет значения Средняя
Не имеет значения
Полученные результаты сведены в таблицу 3
ПО MAUT Нечеткий Нечеткий Нечеткий
вывод вывод вывод
(Mamdani) (Sugeno) (Larsen)
Наилучшая альтернатива 10 8,5 10 8,5
Opera 8,2 7,92 6,082 7,947
Netscape 8,011 7,826 5,342 7,857
SeaMonkey 7,778 7,826 6,558 7,857
Mozilla Firefox 7,733 7,92 5,655 7,947
K-Meleon 7,111 6,549 6,168 7,732
Dr. Orca 7 7,37 4,962 7,414
Internet Explorer 6,933 5,614 7,099 5,659
Maxthon 5,667 5,404 4,032 5,439
Наихудшая альтернатива 0 2 0 2
Таблица 3 Оценки альтернатив при различных уровнях важности всех критериев, полученные с использованием алгоритмов MAUT, Mamdani, Sugeno, Larsen
z
X
ф
о
Сравнение алгоритмов оценки альтернатив
12
10
8
6
4
2
0
Ж
с?
* £
К®"
<н>
* «/ / ^ S ** у
«f
оуГ
У
У
альтернативы
MAUT Mamdani Sugeno Larsen
Рисунок 5 Сравнение алгоритмов нечеткого вывода Mamdani, Sugeno, Larsen и метода MAUT при оценке альтернатив по критериям с различными уровнями важности
На Рис. 5 показано, что наиболее близки к оценкам по методу MAUT оценки алгоритмов Mamdani и Larsen.
Выводы
1. Предложенный метод выбора ПО основывается на комплексной оценке качественных характеристик. Реализованный подход к оценке качества ПО позволяет строить гибкую систему оценок в зависимости от целей и приоритетов пользователей в каждом конкретном случае.
2. Разработанное приложение позволяет сравнивать оценки, полученные различными методами.
3. Алгоритм нечеткого вывода обеспечивает гибкость системы принятия решения за счет возможности корректировки критериев оценки и правил вывода.
4. Разработанный подход к оценке является универсальным и может быть применен не только для оценки ПО, но и в любой предметной области. Для использования системы в другой предметной области необходимо только изменить списки альтернатив, критериев оценки и добавить необходимые правила вывода.
Литература
1. R.E. Bellman, L.A.Zadeh Décision making in a fuzzy environment. Management Science, 17, 141-164, 1970
2. Алексеев А.Н., Волков Н.И., Кочевский А.Н. Элементы нечёткой логики при программном контроле знаний. Открытое образование. Научно-практический журнал по информационным технологиям в образовании №4,2004
3. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем. Учебник. — М., 2001.
4. Тельнов Ю.Ф. Интеллектуальные информационные системы в экономике. — М., 2001.
5. Тихомиров В.П., Кондратьев В.К., Филинов Е.Н., Бойченко А.В. Открытые информационные системы дистанционного обучения - основа открытого образования. Открытое образование. Научно-практический журнал по информационным технологиям в образовании. № 3,2001