Диссертация (1149691), страница 27
Текст из файла (страница 27)
С развитием программногокомплекса также увеличивается возможности практического применениятеории АБС за счет удобства использования алгоритмов и, следовательно,увеличение аудитории, использующей модель АБС.В совместной работе [89] соискателя с соавторами моделью для новойверсии программного комплекса было выбрано веб-приложение. Основаниями для принятия решения послужили следующие причины:– наличие доступа к приложению и всем сохраненным данным с любого компьютера, подключенного к сети Интернет;– отсутствие необходимости установки дополнительных компонент накомпьютер;– простота доставки обновлений продукта конечным пользователям.Кроме того к рассмотрению были приняты следующие пункты [89]:– возможность создавать и изменять алгебраические байесовские сети, фрагменты знаний внутри них, а также оценки вероятностиистинности их элементов;– возможность объединять АБС в проекты и давать доступ к даннымпроектам другим пользователям;– возможность отображать локальную и глобальные структуры рассматриваемой АБС в виде графа, в котором вершинами выступаютатомарные пропозициональные формулы или ФЗ соответственно;– возможность проводить логико-вероятностный вывод в выбраннойАБС и анализировать полученные результаты.Структура комплекса представлена на рисунке 4.6:В рамках диссертационного исследования, Золотиным А.А.
была разработана архитектура приложения [89], а также проведена имплементацияпользовательского интерфейса веб-приложения [102].158Рисунок 4.6 — Диаграмма компонент проекта, их взаимосвязей и сферответственности [89].4.4.1Используемые технологииприменялся следующий инструментарий разработчика: [2; 37; 38; 71].4.4.2Регистрация пользователя и вход в приложениеДля разграничения прав доступа к различным объектам внутри приложения (проекты, АБС) были созданы учетные записи пользователей, гдеадрес электронной почты выступает идентификатором пользователя.
Страница регистрации пользователя представлена на рисунке 4.7.При заполнении формы регистрации приложение проверит корректность ввода данных и в случае некорректных данных подсветит соответствующую строчку красным цветом. Пример корректно и некорректнозаполненных форм приведен на рисунках 4.8 и 4.9.После прохождения процесса регистрации пользователь при следующем вхде в приложение может просто вводить свой логие(адрес электрннойпочты) и пароль. Корректность ввода электронной почты с семантическойточки зрения также проверяется регулярным выражением, как показанона рисунках 4.10 и 4.11.159!Рисунок 4.7 — Пустая форма регистрацииРисунок 4.8 — Корректно заполненная форма регистрации пользователя4.4.3Список проектовНа рисунке 4.12 изображена страница с проектами.
В центральнойчасти страницы находятся доступные пользователю проекты, каждый из которых представлен «карточкой» с основной информацией на ней. В верхнейчасти страницы (заголовке) находятся элементы навигации, позволяющие160Рисунок 4.9 — Некорректно заполненная форма регистрации пользователяРисунок 4.10 — Корректный ввод данных в форму входаво-первых определить на какой из страниц пользователь находится, а вовторых перемещаться между страницами приложенияСтрока над списком проектов позволяет осуществлять поиск по названию и описанию проекта, как показано на рисунке 4.13.В левом верхнем углу списка проектов находится пустая карточка (рисунок 4.14) — она дает возможность быстро добавить новый проект, указавлишь название и краткое описание.161Рисунок 4.11 — Некорректный ввод данных в форму входаРисунок 4.12 — Страница списка проектов.Одновременно с добавлением проектов присутствует функциональность удаления, выраженная иконкой «урна», появляющейся в левомверхнем углу карточки проекта при наведении на нее.
После нажатия наиконку, появляется всплывающее окно, где от пользователя требуется подтверждение намерений(рисунок 4.15)162Рисунок 4.13 — Поиск по списку проектовРисунок 4.14 — Создание нового проекта с именем «Новый проект»4.4.4Список алгебраических байесовских сетейПользователь попадает на данную страницу после выбора проектаи перехода внутрь него кликом по названию проекта в карточке на странице списка проектов. Как и страница списка проектов данная страница163Рисунок 4.15 — Всплывающее окно с подтверждением удаления проектапредоставляет функционал просмотра, поиска, создания и удаления АБС.Рассмотрим элементы, отвечающие за каждое из указанных действий.На рисунке 4.16 представлен список АБС, находящихся внутри выбранного проекта.
Можно заметить, что цвета первых двух элементовнавигации в заголовке приложения изменились, что означает нахождениепользователя на второй странице, а также дает возможность перейти назадна страницу списка проектов кликом по элементу с текстом «Project».Рисунок 4.16 — Список алгебраических байесовских сетей.164Аналогично странице со списком проектов, здесь реализован по названию и описанию АБС, представленный на рисунке 4.17.Рисунок 4.17 — Поиск по списку АБСУдаление АБС из проекта осуществляется также нажатием на иконку«корзины», после чего пользователю предлагается дополнительное всплывающее окно с подтверждением намерений. Указанное окно представленона рисунке 4.18.Наконец, чтобы перейти к редактированию АБС и наполнению еефрагментами знаний, пользователю необходимо кликнуть на название одной из АБС в списке.4.4.5Локальная и глобальная структурыНа рисунке 4.19 изображена страница редактирования первичнойструктуры, как она выглядит сразу после открытия новой АБС.
В нижней части страницы находится панель со списком ФЗ. Как можно заметитьна данный момент она пуста.165Рисунок 4.18 — Всплывающее окно с подтверждением удаления АБСРисунок 4.19 — Страница редактирования первичной структуры дляновой АБСДля визуализации графов в приложении была выбрана JavaScript библиотека D3.JS [15].
В качестве примера, иллюстрирующего визуализацию,рассмотрим ФЗ над атомами {1,2,3}. Первоначальный вид локальнойструктуры данного ФЗ представлен на рисунке 4.20Реализация с помощью javascript библиотеки D3.JS позволяет сделать граф динамическим и в некоторой мере интерактивным, позволяя166Рисунок 4.20 — Граф, изображающий структуру фрагмента знаний надатомами {1,2,3}пользователю изменять масштаб и расположение вершин. На рисунке 4.21представлен альтернативный вариант расположения вершин, после их перемещения пользователем.Наконец веб-приложение позволяет отображать связи между ФЗ врамках вторичной структуры.
Рисунок 4.22 иллюстрирует отображение вторичной структуры над 6 ФЗ.4.5Выводы по главеВ главе описан комплекс программ, реализующий структуры и позволяющий автоматизировать алгоритмы логико-вероятностного вывода валгебраических байесовских сетях, а также предлагающий 2 различныхинтерфейса для взаимодействия с математической библиотекой — десктопный и веб-интерфейсы. Разработка проводилась с помощью сред MicrosoftVisual Studio и Microsoft Visual Studio Code с использованием ряда C# технологий, включая библиотеки lp_solve 5.5 и Math.NET, и ряда Javascript167Рисунок 4.21 — Граф, изображающий структуру фрагмента знаний, послеперемещения вершинРисунок 4.22 — Граф, изображающий вторичную структуру АБСтехнологий, включая язык Typescript, библиотеку для визуализаций D3.JS168и фреймворк Angular, для десктопной и веб части соответственно.
Представленный выбор технологий обусловлен их удобством, наличием в открытомдоступе, а также особенностями представления и обработки данных.Математическая библиотека предлагает публичный контракт для выполнения следующих операций:– создание и редактирование фрагментов знаний, построенных надидеалом конъюкнтов, идеалом дизъюнктов или множеством пропозиций-квантов;– задание элементам фрагмента знаний скалярных или интервальныхоценок вероятностей;– проверка и поддержание непротиворечивости оценок вероятностейэлементов фрагмента знаний;– проведение априорного вывода;– решение первой и второй задач апостериорного вывода для детерминированного, стохастического и неточного свидетельств;Весь приведенный выше функционал реализован в десктопном приложениис графическим пользовательским интерфейсом, дополненный возможностью сохранять и загружать созданные ранее фрагменты знаний исвидетельства.
В дополнение к этому, описанное в главе веб-приложениепозволяет визуализировать фрагменты знаний и графы смежности, представляющие вторичную структуру алгебраической байесовской сети.Таким образом, реализация алгоритмов локального апостериорноговывода позволила провести вычислительные эксперименты, чтобы убедиться в их корректности. Благодаря наличию публичного контрактаразработанный прототип комплекса программ может быть интегрированв стороннее приложение.169ЗаключениеИтоги исследования состоят в том, что:1.
Сформулированы и доказаны теоремы о матрично-векторных уравнениях локального апостериорного вывода для различных видовфрагментов знаний и типов оценок вероятностей истинности элементов; описан алгоритм выражения предложенных векторов черезвектора малой размерности;2. Исследована модель фрагмента знаний, построенная над идеаломдизъюнктов и предложены матрицы перехода от вектора вероятностей элементов идеала дизъюнктов к векторам вероятностейэлементов идеала конъюнктов и набора пропозиций-квантов;3. Разработан алгоритм покомпонентного вычисления векторов,участвующих в расчете нормирующих множителей в алгоритмахапостериорного вывода;4.
Сформулированы, с учетом новой матрично-векторной формализации, ограничения и построены задачи линейного программирования для первой и второй задач апостериорного вывода в случаенеточного свидетельства или интервальных оценок вероятностейэлементов фрагмента знаний;5. Предложен способ, описывающий пропагацию виртуального свидетельства между двумя фрагментами знаний алгебраическойбайесовской сети, основу которого составляет матрица, указаннаяв пункте 2 итогов исследования;6.















