Научная статья на тему 'Разработка программ для поддержки принятия решений на основе байесовских вероятностных моделей'

Разработка программ для поддержки принятия решений на основе байесовских вероятностных моделей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
128
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
принятие решений / формула Байеса / байесовская вероятностная модель / групповое экспертное рейтинговое оценивание / нечеткая логика / вероятностная логика / байесовская логиковероятностная модель нечеткого вывода / язык Java / decision making / Bayes' formula / Bayesian probabilistic model / group expert rating estimation / fuzzy logic / probabilistic logic / Bayesian logical-probabilistic fuzzy inference model / Java language

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Г.И. Кожомбердиева, Д.П. Бураков, Г.А. Хамчичев

В статье представлены программы, ориентированные на применение в качестве инструмента поддержки принятия решений и реализующие оригинальные подходы к групповому экспертному рейтинговому оцениванию и нечеткому логическому выводу. В основу программ положены вероятностные модели на основе формулы Байеса, ранее предложенные авторами. В этих байесовских моделях входные оценочные данные интерпретируются как свидетельства в пользу той или иной гипотезы из множества возможных, определяемых спецификой модели: гипотез о месте того или иного объекта в рейтинге (в модели группового экспертного рейтингового оценивания) и о возможном значении выходной лингвистической переменной (в модели нечеткого вывода). Полученные свидетельства специфичным для модели способом трансформируются в набор байесовских условных вероятностей, вычисляемых в предположении истинности соответствующей гипотезы, а далее рассчитываются апостериорные распределения вероятностей на множестве этих гипотез. Апостериорные распределения используются как основа для несложного вычисления конечного результата: рейтинга объектов (в модели группового экспертного рейтингового оценивания) и дефаззифицированного значения выходной переменной (в модели нечеткого вывода). Обсуждаются особенности программной реализации моделей на платформе Java, отмечаются преимущества моделей.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development of decision support programs based on Bayesian probabilistic models

The paper presents programs focused on using decision-making support tools and implementing original approaches to a rating estimation by an expert group and to fuzzy inference. The programs use the probabilistic models based on Bayes' formula previously proposed and published in the works of the authors. The models interpret the input estimated data as evidence in favor to one or another hypothesis from a set of possible ones determined by the model specifics: hypotheses on the object’s place in the rating (in the group expert rating estimation model) and hypotheses on the possible value of the output linguistic variable (in the fuzzy inference model). The obtained evidence is transformed in a model-specific way into a set of Bayesian conditional probabilities computed under the assumption that the corresponding hypothesis is true, and then posterior probability distributions on the set of these hypotheses are calculated. These posterior distributions are used to obtain the final result: a rating of objects (in the rating estimation model), defuzzified value of linguistic variable (in the fuzzy inference model). The paper discusses the features of the software implementation of models on Java platform, notes the advantages of models confirmed or identified in the process of software implementation. The developed programs are registered in the Register of Computer Programs of the Russian Federal Service for Intellectual Property (Rospatent) and are used in the educational process at St. Petersburg State Transport University.

Текст научной работы на тему «Разработка программ для поддержки принятия решений на основе байесовских вероятностных моделей»

УДК 519.816; 519.226.3; 510.64; 004.42 Дата подачи статьи: 08.09.21, после доработки: 10.02.22

Б01: 10.15827/0236-235Х.138.184-194 2022. Т. 35. № 2. С. 184-194

Разработка программ для поддержки принятия решений на основе байесовских вероятностных моделей

Г.И. Кожомбердиева 1, к.т.н, доцент кафедры информационных и вычислительных систем, kgi-Uizht@yand.ex. ги

Д.П. Бураков 1, к.т.н, доцент кафедры информатики и информационной безопасности, Ъигак:оу&т1Ьгу8@дтай.сот Г.А. Хамчичев 1, аспирант кафедры информационных и вычислительных систем, gyqn@yandex.ru

1 Петербургский государственный университет путей сообщения Императора ААлександра I, г. Санкт-Петербург, 190031, Россия

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

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

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

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

Ключевые слова: принятие решений, формула Байеса, байесовская вероятностная модель, групповое экспертное рейтинговое оценивание, нечеткая логика, вероятностная логика, байесовская логико-вероятностная модель нечеткого вывода, язык Java.

Принятие решений - сложный процесс, требующий от лица, принимающего решения (ЛПР), учета различных факторов, в том числе неопределенных, при оценке альтернатив с целью выбора наиболее подходящей [1]. Довольно часто значения характеристик оцениваемых альтернатив неизвестны и/или не поддаются точному измерению. В таких ситуациях ЛПР вынуждены либо прибегать к услугам предметных экспертов, которые сравнивают или оценивают имеющиеся альтернативы (варианты решения), используя собственные субъективные оценки [1, 2], либо использовать аппарат нечеткого вывода [1, 3, 4], позволяющий получить решение, основанное на качественных оценках. В обоих случаях перед ЛПР встает проблема принятия решения на основе неточных (нечетких, некорректно определенных) данных, исследованная еще в классиче-

ских работах по нечеткой логике и байесовскому подходу [5-7].

В последнее время все больше специалистов по машинному обучению и анализу данных признают теорему Байеса наиболее эффективным способом превращения их в знания, поэтому при увеличении объемов накопленных данных и повышении эффективности вычислений она может распространяться на ранее не охваченные области знаний [8]. Так, регуляризирующий байесовский подход давно и успешно применяется в области измерений в условиях неопределенности [9]. Аппарат байесовских сетей используется, например, при создании систем диагностики и прогнозирования [10]. Более того, некоторые эксперты полагают, что, если у байесовского обучения и есть какие-то границы, пока они неизвестны [11].

Авторы настоящей статьи уже достаточно давно исследуют возможности применения байесовского подхода к решению задач, так или иначе требующих выбора из альтернативных вариантов в условиях нестохастической неопределенности, при обработке данных, основанных на экспертных оценках. Развитием авторских байесовских вероятностных моделей оценивания качества (решений, процессов, продуктов) стали байесовская модель группового экспертного рейтингового оценивания и байесовская логико-вероятностная модель нечеткого вывода [12-14]. Интерес авторов к программной реализации именно этих моделей вполне понятен и оправдан.

В настоящее время ранжирование применяется повсеместно, в том числе и с использованием модифицированных классических подходов, например, для выделения пользовательских предпочтений [15], при выдаче результатов поиска [16], при анализе мультимедийных данных [17]. Классические нечеткие модели Мамдани-Заде и Такаги-Сугено-Канга используются при моделировании производственных процессов [4] и при построении нечетких нейронных сетей [18]. Нечеткий логический вывод, а также нечеткие расширения других известных методов принятия решения, таких как метод анализа иерархий, активно и успешно применяются в задачах поддержки принятия решений, например, для оценки надежности технических систем [19].

Байесовские вероятностные модели

как основа программ для поддержки принятия решений

Предложенные и исследованные авторами нетрадиционные модели на основе формулы Байеса, в том числе модели [12-14], объединены общей ключевой идеей.

1. Множество возможных альтернативных решений, из которых делает выбор ЛПР, представляет собой конечное множество гипотез {Н\, Н2, ..., Нп}. В зависимости от типа задачи и используемой модели это могут быть гипотезы о качестве оцениваемого объекта (решения, процесса, продукта), о месте объекта, оцениваемого группой экспертов, в рейтинге, о возможном значении выходной лингвистической переменной.

2. Входные оценочные данные или результаты неточных измерений х\, х2, ..., хт интерпретируются как набор свидетельств {ег}, г = 1, ..., т, в пользу той или иной гипотезы Н,

j = 1, ..., n, из множества возможных гипотез, определяемых типом решаемой задачи.

3. Полученные свидетельства специфичным для модели способом трансформируются в набор байесовских условных вероятностей {P(e1, ..., em | Hj)}, вычисляемых в предположении истинности соответствующей гипотезы Hj, а далее в качестве промежуточного результата рассчитывается апостериорное распределение вероятностей {P(Hj | ei, ..., em)},j = 1, ..., n, на множестве этих гипотез. Для этого используется формула Байеса, при необходимости модифицированная в соответствии со спецификой используемой модели.

4. Апостериорные распределения вероятностей в моделях [12-14] используются как основа для несложного вычисления конечного результата в отличие от байесовских моделей оценивания качества, в которых для принятия решений непосредственно применяется принцип MAP (Maximum A posteriori Probability).

Для эффективного применения любого полезного подхода в области принятия решений необходимо оснастить ЛПР соответствующими программными инструментами, которые должны не только обеспечивать реализацию выбранной модели для решения задач соответствующего типа, но и осуществлять удобную для ЛПР поддержку процесса принятия решения. В настоящей статье предлагаются две программы, реализующие авторские модели для решения задач группового экспертного рейтингового оценивания и задач нечеткого логического вывода [12-14].

Программы обладают удобным графическим интерфейсом пользователя [20], позволяющим ЛПР эффективно решать прикладные задачи указанных типов. В качестве средства реализации выбран широко известный язык программирования Java, используемый для создания платформно-независимых приложений. Сообществом программистов Java для решения разнообразных задач разработаны и постоянно развиваются различные полезные библиотеки классов и визуальных компонентов, например, библиотеки обработки коллекций, вычислительной математики и символьных вычислений, визуальные компоненты для вывода графиков. Некоторые из этих специализированных библиотек [https://mvnrepository.com/ artifact/org.mvel/mvel2, https://mvnrepository. com/artifact/org.apache.commons, https://

mvnrepository.com/artifact/org.knowm.xchart] нашли применение в разработанных авторами программах.

Программа для группового экспертного рейтингового оценивания на базе байесовской модели

В основе программы лежит формальное описание байесовской модели группового экспертного рейтингового оценивания [12]. В этой модели байесовский подход к решению задач оценивания качества некоторого объекта по множеству показателей на основе субъективных экспертных оценок адаптирован к задаче рейтингового оценивания множества объектов группой экспертов. Результатом оценивания каждого ранжируемого объекта является апостериорное распределение вероятностей на множестве гипотез о ранге этого объекта. В случае неуверенности эксперты группы имеют право присваивать оцениваемому объекту два (возможно, более) смежных ранга, то есть привносить при назначении рангов элементы неопределенности.

Используемые при вычислении апостериорного распределения значения условных вероятностей понимаются как степени соответствия полученных свидетельств (экспертных оценок) предположениям об истинности гипотез. Условные вероятности вычисляются как отношения числа экспертов, присвоивших объекту определенный ранг, к общей численности группы экспертов.

Итоговый рейтинг объектов формируется в результате несложной математической обработки всех полученных для оцениваемых объектов апостериорных распределений. Два способа такой обработки описаны и продемонстрированы на примерах в [12]. Одним из способов является назначение объекту нормализованного ранга, полученного на основе вычисленного математического ожидания случайной величины, множеством значений которой является множество возможных рангов (гипотез), а законом распределения - апостериорное распределение вероятностей. При нормализации ранга математические ожидания заменяются натуральными числами с сохранением полученного порядка в рейтинге. Для разрешения возможных коллизий можно учитывать коэффициенты компетентности экспертов, а при необходимости выполнять многора-ундовое оценивание, в рамках которого апостериорные вероятности, полученные в текущем раунде, используются в качестве априорных при вычислениях в следующем раунде.

Рассматриваемая программа предназначена для группового экспертного рейтингового оце-

нивания объектов любой природы. Она оснащена графическим интерфейсом пользователя, предоставляющим оператору (ЛПР) возможность указать членов экспертной группы, производящей оценивание, перечень объектов, подлежащих рейтинговому оцениванию, компетентность экспертов и количество мест в итоговом рейтинге, как это показано на рисунке 1.

В процессе оценивания эксперты вводят ранги, присвоенные ими оцениваемым объектам, при этом в случае неуверенности любой из экспертов может указать для любого оцениваемого объекта два смежных ранга. Эта возможность, безусловно, повышает комфортность условий работы команды экспертов и объективность формируемых рейтингов (рис. 2). Отметим, что авторами дополнительно исследуется опция расширения диапазона смежных рангов.

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

Щ Программа рейтингового оценивания — □ X

Файл Настройки Справка

Раунд оценивания: 1 < >

[ 1. Исходные данные | 2. Оценки ] 3. Результат

Количество объектов

№ объекта | Имя объекта

2 3 Сбербанк Банк ВТБ Россельхозбанк Почтабанк

формация об экспертах Априорные вероятности: По умолчанию Изменить

Ин

Количество экспертов Hi 0 Учитывать компетентности

№ эксперта ИмяУПсевдоним 1 Компетентность

2 3 Иванов Петров Сидоров Васильев 0.9

б 7 0.75 0.7

Рис. 1. Ввод исходных данных для оценивания Fig. 1. Input oof the source data for estimation

Щ Программа рейтингового оценивания — □ X Файл Настройки Справка

Раунд оценивания: 1 < > [ 1. Исходные данные| Оценки | 3. Результат

Эксперт_| Сбербанк_| БанкВТБ_| РоссельхозВанк | ПомтаВанк_| БанкТинькофф

Иванов 1 2-3 4 2-3 4

Петров 2 14 3 4

Сидоров 3 1-2 4 1-2 4

Васильев 4 3 4 2 1

Семенов 2 3-4 3-4 1 4

Уннов 1 2 3 4 4

Бодров _1_ 34 2 34 3 -4

[ Подтвердить ] [ Очистить оценки""]

Рис. 2. Оценивание объектов Fig. 2. Object estimation

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

Программа рейтингового оценивания - О К

Файп Настройки Справка

Раунд оценивания: 1 ИИ

[ 1. Исходные данные 12. Оценки | 3. Результат ]

Таблица апостериорных вероятностей

Ранг j Сбербанк | Банк ВТБ | Рсссельхозбанк Почтабанк 1 БанкТинькофф

1 0.42 0.21 0.00 0.19 0.12

2 0.30 0.29 0.11 0.32 0.00

3 0.15 0.35 0.23 0.32 0.11

4 0.14 0.16 0.67 0.17 0.77

Рейтинг объектов

Ранг 1: Сбербанк

Ранг 2: Почтабанк

РангЗ: Банк ВТБ

Ранг 4: Банк Тинькофф, Россепьхозбанк

[ Экспорт результата J [ Следующий раунд оценивания ]

Рис. 3. Ранжирование объектов Fig. 3. Object ranking

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

Разработанная авторами программа зарегистрирована в Роспатенте [21] и внедрена в учебный процесс в Петербургском государственном университете путей сообщения (ПГУПС) в качестве программного инструмента. В процессе использования программы студенты не только выполняют ранжирование выбранного ими набора объектов, выступая в качестве экспертов, но и сравнивают полученные результаты с ожидаемым ими порядком объектов, причем в большинстве случаев итоговое ранжирование совпадает с ожидаемым. По мнению авторов, разработанная программа может быть использована и для решения прикладных задач экспертного рейтингового оценивания, например, при составлении рейтингов участников творческих и профессиональных конкурсов, при проведении конкурсной экспертизы качества некоторых видов продукции на основе органолептических характеристик, при построении рейтингов, предусмотренных системами менеджмента качества различных предприятий и организаций, и т.д.

Программа для решения задач нечеткого вывода на основе байесовской логико-вероятностной модели

Программа разработана для верификации и демонстрации практической применимости байесовской логико-вероятностной модели (БЛВ-модели) нечеткого вывода, предложенной в [13] и наиболее полно представленной в [14], для решения прикладных задач. Суть процедуры нечеткого вывода, базирующегося на БЛВ-модели, заключается в следующем. Множество значений каждой выходной лингвистической переменной (ЛП) отождествляется с множеством соответствующих байесовских гипотез, а измеренные или оцененные «четкие» входные значения трактуются как свидетельства в пользу этих байесовских гипотез. Значения функций принадлежности (ФП) соответствующих термов входных ЛП используются как аргументы функций вероятностной логики (ФВЛ), получаемых преобразованием набора заданных нечетких продукций. Вычисленные таким образом значения используются как условные вероятности, определяющие степени соответствия свидетельств предположениям об истинности соответствующих байесовских гипотез. Далее они используются для определения апостериорного распределения вероятностей на множестве гипотез, соответствующих значениям выходной ЛП. Это распределение вероятностей применяется для дефаззифика-ции полученного значения выходной ЛП путем нахождения соответствующего математического ожидания. Найденное дефаззифициро-ванное значение выходной ЛП отождествляется с искомым значением выходной величины, которое используется ЛПР при принятии решения.

В [20] отмечено, что предложенная БЛВ-модель нечеткого вывода не содержит ограничений, присущих моделям вывода Сугено и Цукамото, и по своим возможностям близка к модели Мамдани. Дополнительно это подтверждается сопоставлением результатов нечеткого логического вывода, полученных с использованием БЛВ-модели, с результатами работы алгоритма Мамдани [3, 4, 22].

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

Fuzzy Logic Toolbox, разработанного для математической системы общего назначения MATLAB [3].

На вкладке «Переменные» задаются входные и выходные ЛП, включая их терм-множества и ФП термов. Пример такой настройки приведен на рисунке 4.

Программа позволяет ЛПР использовать как стандартные ФП, применяемые для описания числовых нечетких множеств (треугольные, Гаусса и т.д.), так и кусочно-линейные функции произвольной формы, задаваемые списком точек. Форма и местоположение (смещение) ФП на шкале переменной регулируются числовыми параметрами аналогично тому, как это реализовано в Fuzzy Logic Toolbox.

На вкладке «Правила» перечисляются и редактируются нечеткие продукции. Здесь за образец также взята реализация работы с правилами в Fuzzy Logic Toolbox. Для каждого правила задаются посылка в виде логического выражения, связывающего значения входных ЛП, заключение в виде указания значения, принимаемого выходной ЛП, и вес правила. Пример настройки правил приведен на рисунке 5.

На вкладке «Логический вывод» осуществляются ввод входных значений и вывод результата нечеткого вывода в виде дефаззифициро-ванного значения выходной ЛП.

Разработанная программа зарегистрирована в Роспатенте [23]. Для поддержки внедрения программы в учебный процесс в ПГУПС в нее встроена функция загрузки демонстрационных примеров систем нечеткого вывода, в том числе описанных в [3, 22]. Кроме того, ориентация на студентов как целевую аудиторию позволила разработчикам программы ограничиться использованием нечетких моделей, содержащих только одну выходную ЛП.

Особенности программной реализации байесовских вероятностных моделей

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

Байесовская модель группового экспертного рейтингового оценивания [12] вследствие относительной простоты формального описания может быть эффективно реализована стандартными средствами языка Java, включен-

Ш Программа нечеткого вывода — □

Файл Справка

Параметры 120 43 45

Графики функций принадлежности термов переменной _Сипа_торможаиия

Рис. 4. Настройка лингвистических переменных

Fig. 4. Setting linguistic variables

№ Программа нечеткого вывода — □ X

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Фаип Справка

' Переменные [ Прааипа j Логический и.»од ;_

База правил

ЕСЛИ Превмаемиескорости - Больаое И Расстояние - Малое то Оии_тоеможения - Большая 1.0 ЕСЛИ Превмшение_скорости - Больное И Расстояние - Болывое ТО Оша_тосможения - Средняя 0.8 ЕСЛИ Прв*ы1Мние_скоросги - мало* И Расстояние - Мало« ТО Сияа_торможеиия - средня» 0.75 ЕСЛИ Прв«ыиени«_скоросги - мало* И Расстояние - Больаое то Си*а_»оомож«иия - Малая 0.9

Правило ] ЕСЛИ Прввымние.осорости - Малое И Расстояние - Больаое ТО Скла.тооможения - Малая

Посылка ПСИЦ аиднвя ЛП I Знашми- | H« | С*„ | Пр_ Превышен« Налое LJ И □ Расстояние Бопьшм □ □

Рис. 5. Настройка правил Fig. 5. Setting up rules

ными в состав JDK 1.8 [20]. Входные данные и результаты вычислений могут храниться в обычных двумерных массивах чисел с плавающей запятой, а единообразное использование модифицированной формулы Байеса для вычисления апостериорных вероятностей позволяет выполнять ранжирование как с учетом, так и без учета уровня компетентности экспертов. Упрощенная блок-схема алгоритма группового экспертного рейтингового оценивания представлена на рисунке 6.

Одной из особенностей языка Java является его мультипарадигменность [24], хотя это объектно-ориентированный язык. Программы, написанные на Java, представляют собой совокупность классов, однако в силу простоты представленного алгоритма работы всю вычислительную логику программы можно сосредоточить в единственном классе, содержащем методы обработки исходных данных от оконных форм и получения рейтинга оцениваемых объектов. Таким образом, фактически програм-

Рис. 6. Упрощенная блок-схема алгоритма группового экспертного рейтингового оценивания

на основе байесовской модели

Fig. 6. Rating estimation by an expert group based on the Bayesian model: a simplified flowchart

of the algorithm

мная реализация модели выполнена с применением концепции структурного программирования [25].

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

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

В противоположность модели рейтингового оценивания для реализации БЛВ-модели нечеткого вывода в силу ее большей сложности оптимальным решением было использовать возможности объектно-ориентированной парадигмы, предоставляемые языком Java. Внутренняя логика работы программы реализована

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

BayesianFuzzy

InputData

+ add ()

-5»

BooleanEvaluator

+ getSDNF ()

BayesianFuzzy

+ defuzzification () + fuzzyfication () + countModel () + createModel () + reset ()

VarBase

+ addVariable ()

+ removeVariable () -»-

ResultBaseEntry

+ getProbability ()

1 -^ RuleBase

+ addRule () + removeRule ()

—> Rule

+ getFVL () + setFVL ()

и

ResultBase

+ normalize ()

Term

+ addFunction () + getProbability ()

3iL

Variable

+ addTerm () + removeTerm ()

OutputVariable

+ findSpecificValues () + findTermBorders () + findTermCrossPoints ()

Functions

Graphical

TermFunction

+ getF ()

и>-

Function

LinearFunction

TriangularFunction

TrapezoidalFunction

FIntegrator

+ integralF () + integralXF ()

SigmoidFunction

GaussianFunction

BellFunction

AreaChart

I

Dot

Рис. 7. Упрощенная диаграмма классов реализации БЛВ-модели нечеткого вывода

Fig. 7. A simplified class diagram of implementation of the Bayesian logical-probabilistic fuzzy

inference model

1

1

*

*

*

1

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

Дадим краткое описание структуры классов. Центральным классом модели, выполняющим всю координацию процесса хранения данных системы нечеткого вывода и последующих вычислений, является класс BayesianFuzzy. Объект класса RuleBase хранит базу нечетких правил, каждое из которых описывается объектом класса Rule. Объект класса VarBase обрабатывает совокупность входных ЛП системы нечеткого вывода. Каждая входная ЛП представляется объектом класса Variable, а выходная - объектом производного класса OutputVariable. В объектах этих классов хранятся списки объектов класса Term, описывающих термы соответствующей ЛП. Каждый терм связан с соответствующей ему ФП, представленной объектом класса TermFunction. Для решения задачи дефаззификации выходного значения в программу встроены методы численного интегрирования ФП. Для этого классы всех ФП реализуют интерфейс Function, который используется классом FIntegrator. Кроме того, интерфейс Function обеспечивает для объектов класса TermFunction возможность унифицированного взаимодействия с объектами классов ФП разных типов. Структура разработанных классов обладает степенью универсальности, достаточной для ее дополнения, например, новыми типами ФП.

БЛВ-модель нечеткого вывода имеет встроенные возможности для оптимизации вычислительной сложности задачи [20]. Так, например, численное интегрирование ФП, используемое для нахождения характерных значений термов, достаточно выполнить только один раз, не повторяя вычисления многократно при дефаззи-фикации, в отличие от классических алгоритмов типа Мамдани или Сугено. Другой особенностью метода нечеткого вывода, базирующегося на БЛВ-модели, является необходимость (в общем случае) редукции множества нечетких продукций путем объединения в процессе вывода заключений всех продукций с одинаковым заключением [13, 14]. Посылка объединенной продукции представляет собой дизъюнкцию посылок объединяемых продукций, которая записывается в ортогональной дизъюнктивной нормальной форме (ОДНФ) функции алгебры логики (ФАЛ). В работе [13] преобразование ФАЛ к ОДНФ, упрощающей построение и вычисление эквивалентной ей ФВЛ, рекомендуется вы-

полнять по известному алгоритму Ю.В. Мере-кина [26]. Однако для программной реализации авторы предпочли использовать дизъюнктивную совершенную нормальную форму (ДСНФ), которая по определению также является ортогональной ДНФ. ДСНФ имеет более регулярную структуру, хотя и включает большее количество элементарных произведений логических переменных. ДСНФ посылки объединенной продукции для последующего перехода к ФВЛ формируется с использованием механизмов символьных вычислений, предоставляемых библиотекой MVEL. Формирование ДСНФ и соответствующей ФВЛ выполняется классом BooleanEvaluator. Данные преобразования реализуются на начальном этапе решения задачи вывода, когда множество нечетких продукций уже сформировано, и в дальнейшем полученные выражения ФВЛ используются для вычисления апостериорных вероятностей в готовом виде. При этом ФВЛ посылки каждой продукции имеет простой вид суммы произведений вероятностей, что позволяет рассчитывать ее с минимальными затратами вычислительных ресурсов.

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

Заключение

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

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

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

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

Литература

1. Петровский А.Б. Теория принятия решений. М.: Академия, 2009. 400 с.

2. Колбин В.В. Математические методы коллективного принятия решений. СПб: Лань, 2015. 256 с.

3. Леоненков А.В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. СПб: БХВ-Петербург, 2005. 736 с.

4. Кудинов Ю.И., Келина А.Ю., Кудинов И.Ю., Пащенко А.Ф., Пащенко Ф.Ф. Нечеткие модели и системы управления. М.: ЛЕНАНД, 2017. 327 с.

5. Заде Л.А. Понятие лингвистической переменной и его применение к принятию приближенных решений; [пер. с англ.]. М.: Мир, 1976. 165 с.

6. Моррис У.Т. Наука об управлении: байесовский подход; [пер. с англ.]. М.: Мир, 1971. 304 с.

7. Райфа Г. Анализ решений (введение в проблему выбора в условиях неопределенности); [пер. с англ.]. М.: Наука, 1977. 408 с.

8. Прокопчина С.В. Байесовские интеллектуальные технологии как методологическая основа обработки больших данных в условиях неопределенности // Экономика и управление: проблемы, решения. 2019. Т. 11. № 3. С. 105-109.

9. Прокопчина С.В. Новый тип нейросетей: байесовские измерительные нейросети (БИН) на базе методологии регуляризирующего байесовского подхода // Мягкие измерения и вычисления. 2020. Т. 35. № 10. С. 17-24.

10. Kondratyev S.I., Epikhin A.I., Malakhov S.O. A diagnostic system of an intelligent component based on Bayesian accurate inference networks. J. of Physics: Conf. Ser., 2021, vol. 2032, art. 012022. DOI: 10.1088/1742-6596/2032/1/012022.

11. Домингос П. Верховный алгоритм: как машинное обучение изменит наш мир; [пер. с англ.]. М.: МИФ, 2016. 336 с.

12. Кожомбердиева Г.И., Бураков Д.П., Хамчичев Г.А. Реализация группового экспертного рейтингового оценивания на основе формулы Байеса // Мягкие измерения и вычисления. 2019. № 11. С. 4-16.

13. Кожомбердиева Г.И. Байесовская логико-вероятностная модель нечеткого вывода // Матер. Междунар. конф. по мягким вычислениям и измерениям. 2019. Т. 1. С. 35-38.

14. Кожомбердиева Г.И., Бураков Д.П. Байесовская логико-вероятностная модель нечеткого вывода: этапы вывода заключений и дефаззификации // Нечеткие системы и мягкие вычисления. 2019. Т. 14. № 2. С. 92-110. DOI: 10.26456/fssc55.

15. Pei Ch., Zhang Y., Zhang Y., Sun F., Lin X. et al. Personalized re-ranking for recommendation. Proc. XIII ACM Conf. on Recommender Systems, 2019, pp. 3-11. DOI: 10.1145/3298689.3347000.

16. Robertson S. A brief history of search results ranking. IEEE Annals of the History of Computing, 2019, vol. 41, no. 2, pp. 22-28. DOI: 10.1109/MAHC.2019.2897559.

17. Orouskhani M., Shi D., Cheng X. A fuzzy adaptive dynamic NSGA-II with fuzzy-based borda ranking method and its application to multimedia data analysis. IEEE Transactions on Fuzzy Systems, 2021, vol. 29, no. 1, pp. 118-128. DOI: 10.1109/TFUZZ.2020.2979119.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

18. Осовский С. Нейронные сети для обработки информации; [пер. с польск.]. М.: Горячая линия-Телеком, 2018. 448 с.

19. Мухаметзянов И.З. Нечеткий логический вывод и нечеткий метод анализа иерархий в системах поддержки принятия решений: приложение к оценке надежности технических систем // Кибернетика и программирование. 2017. № 2. С. 59-77. DOI: 10.7256/2306-4196.2017.2.21794.

20. Кожомбердиева Г.И., Бураков Д.П., Хамчичев Г.А. Опыт программной реализации авторских вероятностных моделей на основе формулы Байеса // Матер. Междунар. конф. по мягким вычислениям и измерениям. 2021. Т. 1. С. 61-64.

21. Хамчичев Г.А., Кожомбердиева Г.И., Бураков Д.П. Программа для группового экспертного рейтингового оценивания на основе байесовской модели: Свид. о регистр. ПрЭВМ № 2021613914. Рос. Федерация, 2021.

22. MathWorks. Mamdani and Sugeno Fuzzy Inference Systems. URL: https://www.mathworks.com/help/ fuzzy/types-of-fuzzy-inference-systems.html (дата обращения: 03.02.2022).

23. Кожомбердиева Г.И., Хамчичев Г.А., Бураков Д.П. Программа для решения задач нечеткого вывода на основе байесовской логико-вероятностной модели: Свид. о регистр. ПрЭВМ № 2021662943. Рос. Федерация, 2021.

24. Roy V.P., Haridi S. Concepts, Techniques, and Models of Computer Programming. MIT Press Publ., 2003, 896 р.

25. Авачева Т.Г., Пруцков А.В. Современный взгляд на концепцию структурного программирования // Cloud of Science. 2019. Т. 6. № 4. С. 646-665.

26. Мерекин Ю.В. Решение задач вероятностного расчета однотактных схем методом ортогонали-зации // Сб. тр. Института математики СО АН СССР. 1963. № 5. С. 10-21.

Software & Systems Received 08.09.21, Revised 10.02.22

DOI: 10.15827/0236-235X.138.184-194 2022, vol. 35, no. 2, pp. 184-194

Development of decision support programs based on Bayesian probabilistic models

G.I. Kozhomberdieva ', Ph.D. (Engineering), Associate Professor of Information and Computing Systems Department, kgi-liizht@yandex. ru

D.P. Burakov l, Ph.D. (Engineering), Associate Professor of Information Technology and IT Security Department, burakovdmitry8@gmail.com

G.A. Khamchichev l, Graduate Student of Information and Computing Systems Department, gyqn@yandex.ru

1 Emperor Alexander I St. Petersburg State Transport University, St. Petersburg, 190031, Russian Federation

Abstract. The paper presents programs focused on using decision-making support tools and implementing original approaches to a rating estimation by an expert group and to fuzzy inference.

The programs use the probabilistic models based on Bayes' formula previously proposed and published in the works of the authors. The models interpret the input estimated data as evidence in favor to one or another hypothesis from a set of possible ones determined by the model specifics: hypotheses on the object's place in the rating (in the group expert rating estimation model) and hypotheses on the possible value of the output linguistic variable (in the fuzzy inference model).

The obtained evidence is transformed in a model-specific way into a set of Bayesian conditional probabilities computed under the assumption that the corresponding hypothesis is true, and then posterior probability distributions on the set of these hypotheses are calculated. These posterior distributions are used to obtain the final result: a rating of objects (in the rating estimation model), defuzzified value of linguistic variable (in the fuzzy inference model).

The paper discusses the features of the software implementation of models on Java platform, notes the advantages of models confirmed or identified in the process of software implementation. The developed programs are registered in the Register of Computer Programs of the Russian Federal Service for Intellectual Property (Rospatent) and are used in the educational process at St. Petersburg State Transport University.

Keywords: decision making, Bayes' formula, Bayesian probabilistic model, group expert rating estimation, fuzzy logic, probabilistic logic, Bayesian logical-probabilistic fuzzy inference model, Java language.

References

1. Petrovsky A.B. The Decision-making Theory. Moscow, 2009, 400 p. (in Russ.).

2. Kolbin V.V. Mathematical Methods of Collective Decision Making. St. Petersburg, 2015, 256 p. (in Russ.).

3. Leonenkov A.V. Fuzzy Modeling in MATLAB and FuzzyTECH. St. Petersburg, 2005, 736 p. (in Russ.).

4. Kudinov Yu.I., Kelina A.Yu., Kudinov I.Yu., Pashchenko A.F., Pashchenko F.F. Fuzzy Models and Control Systems. Moscow, 2017, 327 p. (in Russ.).

5. Zadeh L.A. The concept of a linguistic variable and its application to approximate reasoning. P. 1. Information Sciences, 1975, vol. 8, no. 3, pp. 199-249. DOI: 10.1016/0020-0255(75)90036-5. (Russ. ed.: Moscow, 1976, 165 p.).

6. Morris W. Management Science: A Bayesian Introduction. Englewood Cliffs, NY, Prentice-Hall Publ., 1968, 226 p. (Russ. ed.: Moscow, 1971, 408 p.).

7. Raiffa H. Decision Analysis: Introductory Lectures on Choices under Uncertainty. MA, Addison Wesley Publ., 1968, 309 p. (Russ. ed.: Moscow, 1977, 408 p.).

8. Prokopchina S.V. Bayesian intelligent technologies as a methodological basis of big data processing under uncertainty. Economics and Management: Problems, Solutions, 2019, vol. 11, no. 3, pp. 105-109 (in Russ.).

9. Prokopchina S.V. A new type of neural networks: Bayesian measurement neural networks (BIN) based on the methodology of the regularizing Bayesian approach. Soft Measurements and Computing, 2020, vol. 35, no. 10, pp. 17-24 (in Russ.).

10. Kondratyev S.I., Epikhin A.I., Malakhov S.O. A diagnostic system of an intelligent component based on Bayesian accurate inference networks. J. of Physics: Conf. Ser., 2021, vol. 2032, art. 012022. DOI: 10.1088/1742-6596/2032/1/012022.

11. Domingos P. The Master Algorithm. How the Quest for the Ultimate Learning Machine Will Remake Our World. NY, Basic Books Publ., 2015, 354 p. (Russ. ed.: Moscow, 2016, 336 p.).

12. Kozhomberdieva G.I., Burakov D.P., Khamchichev G.A. Implementation of a group expert rating evaluation based on the Bayes formula. Soft Measurements and Computing, 2019, no. 11, pp. 4-16 (in Russ.).

13. Kozhomberdieva G.I. Bayesian logical probabilistic model of fuzzy inference. Proc. Intern. Conf. on Soft Computing and Measurements, 2019, vol. 1, pp. 35-38 (in Russ.).

14. Kozhomberdieva G.I., Burakov D.P. Bayesian logical-probabilistic model of fuzzy inference: stages of conclusions obtaining and defuzzification. Fuzzy Systems and Soft Computing, 2019, vol. 14, no. 2, pp. 92-110. DOI: 10.26456/fssc55 (in Russ.).

15. Pei Ch., Zhang Y., Zhang Y., Sun F., Lin X. et al. Personalized re-ranking for recommendation. Proc. XIII ACM Conf on Recommender Systems, 2019, pp. 3-11. DOI: 10.1145/3298689.3347000.

16. Robertson S. A brief history of search results ranking. IEEE Annals of the History of Computing, 2019, vol. 41, no. 2, pp. 22-28. DOI: 10.1109/MAHC.2019.2897559.

17. Orouskhani M., Shi D., Cheng X. A fuzzy adaptive dynamic NSGA-II with fuzzy-based borda ranking method and its application to multimedia data analysis. IEEE Transactions on Fuzzy Systems, 2021, vol. 29, no. 1, pp. 118-128. DOI: 10.1109/TFUZZ.2020.2979119.

18. Osowski S. Sieci Neuronowe do Przetwarzania Informacji. Warszawa, Oficyna Wydawnicza Politechniki Warszawskiej Publ., 2006, 419 p. (Russ. ed.: Moscow, 2018, 448 p.).

19. Mukhametzyanov I.Z. Application of fuzzy inference & fuzzy AHP approach for evaluating the dependability of the equipment. Cybernetics and Programming, 2017, no. 2, pp. 59-77. DOI: 10.7256/23064196.2017.2.21794 (in Russ.).

20. Kozhomberdieva G.I., Burakov D.P., Khamchichev G.A. experience in software implementation of proprietary probabilistic models based on Bayes' formula. Proc. Intern. Conf. on Soft Computing and Measurements, 2021, vol. 1, pp. 61-64 (in Russ.).

21. Khamchichev G.A., Kozhomberdieva G.I., Burakov D.P. A Program for Group Expert Rating Estimation Based on Bayesian Model. Patent RF, no. 2021613914, 2021.

22.MathWorks. Mamdani and Sugeno Fuzzy Inference Systems. Available at: https://www.math-works.com/help/fuzzy/types-of-fuzzy-inference-systems.html (accessed February 3, 2022).

23. Kozhomberdieva G.I., Khamchichev G.A., Burakov D.P. A Program for Solving Fuzzy Inference Problems Based on Bayesian Logical-Probabilistic Model. Patent RF, no. 2021662943, 2021.

24. Roy V.P., Haridi S. Concepts, Techniques, and Models of Computer Programming. MIT Press Publ., 2003, 896 p.

25. Avacheva T.G., Prutzkow A.V. Modern view on the structured programming paradigm. Cloud of Science, 2019, vol. 6, no. 4, pp. 646-665 (in Russ.).

26. Merekin Yu.V. Solving problems of probabilistic calculation of single-cycle circuits using the orthog-onalization method. Proc. Institute of Math. SB of the USSR Academy of Sciences, 1963, no. 5, pp. 10-21 (in Russ.).

Для цитирования

Кожомбердиева Г.И., Бураков Д.П., Хамчичев Г.А. Разработка программ для поддержки принятия решений на основе байесовских вероятностных моделей // Программные продукты и системы. 2022. Т. 35. № 2. С. 184-194. DOI: 10.15827/0236-235X.138.184-194.

For citation

Kozhomberdieva G.I., Burakov D.P., Khamchichev G.A. Development of decision support programs based on Bayesian probabilistic models. Software & Systems, 2022, vol. 35, no. 2, pp. 184-194 (in Russ.). DOI: 10.15827/ 0236-235X. 138.184-194.

i Надоели баннеры? Вы всегда можете отключить рекламу.