Диссертация (1137259), страница 18
Текст из файла (страница 18)
На рисунке 4.5 показанадиаграмма классов для реализации произвольного частичного порядка. В частности, вводится специальный элемент, который умеетработать с любыми частичными порядками, для которого требуетсязадать сам частичный порядок. Данный порядок определяется аналогичным образом как и структура полурешётки с тем отличием, чтоу пары двух элементов может быть несколько минимальных общихпредков, что и отражено в архитектуре. Таким образом частичный109порядок сложных последовательностей, определённый в данной работе, может быть обработан в программном комплексе.4.3.7Интеграция с программным комплексом FCARTFCART является программным комплексом для анализа данных сиспользованием методов АФП, разрабатываемый на кафедре анализа данных и искусственного интеллекта в НИУ ВШЭ.
Несмотря надостаточное количество альтернативных систем, реализующих методы АФП [12; 20; 61; 102; 115; 131], FCART обладает рядом преимуществ. Во-первых, FCART в отличие от всех других систем реализован на достаточно низкоуровневом языке, что позволяет существенно повысить эффективность системы, но при этом привязываетсборку системы к конкретной среде, такой как Windows или Linux.Во-вторых, FCART предоставляет целый спектр средств от импортасторонней выборки данных до создания отчётов об исследовании.
Втретьих, FCART построена на модульном принципе, который необходим для добавления любой новой функциональности стороннимисредствами. Также стоит отметить, что в рамках этой работы быловыполнено первое встраивание узорных структур в общем виде вдоступное широкой публике программное обеспечение.В рамках программного комплекса FCART был разработан подход и концепция модулей для интеграции архитектуры, описаннойв предыдущих подразделах. Архитектура комплекса FCART показана на рисунке 4.6.
FCART использует термин артефакт для любогообъекта получаемого программой. Так например многозначный контекст, в который были преобразованы сырые данные, является артефактом, так же как и формальный контекст или решётка формальных понятий. Необходимо добавить два артефакта: узорную структуру и решётку узорных понятий. Проекции узорной структуры могутописываться в рамках артефакта узорной структуры. Каждому артефакту будет необходимо создать свой визуализатор (в терминологииFCART) – подпрограмму визуализации узорного контекста и узорной110решётки. Для построения же узорной решётки по узорной структуре нужен специальный решатель (терминология FCART).
В нашемслучае этим решателем является посистема построителя решёток.Однако это решатель специального вида, потому что для него требуется расширить архитектуру FCART, так как необходимо связатьего с менеджерами узоров и различными хранилищами.Помимо включения интерфейса вышеописанных модулей менеджера узоров, хранилищ объёмов и содержания, построителя решёток, было необходим также разработать систему работы модулей спроизвольными данными и передачу им параметров.
Произвольныеданные в рамках FCART также представляются в формате JSON. Какбыло отмечено выше, каждый менеджер узоров умеет работать с двумя типами данных и, таким образом, FCART может автоматическивыбирать для каждого типа данных допустимый набор менеджеровузоров.Исполняемый код модулей должен располагаться в библиотекахдинамического связывания DLL2 . При этом отдельная библиотека,называемая системой модулей, может содержать несколько модулей.Такая библиотека определяет набор модулей, их параметры и точки входа с помощью API, представленного в таблице 4.4. ФункцииInit и Done являются сервисными и обслуживают общие потребности библиотеки, такие как выделение памяти и инициализацияпеременных. Функция GetDescription возвращает JSON-массив,каждый элемент которого соответствует одному модулю в системемодулей.
Для каждого модуля там задаётся заглавие, тип, GUID, иимена функций, соответствующих функциям из API для данного типа модуля.Определившись с набором модулей, FCART может получитьпараметры модуля, обратившись к функциям из API данного модуля. Помимо, функций специфичных для данного типа модуля, каждый модуль также имеет набор общих методов.
Общиефункции API любого модуля представлены в таблице 4.5. Функ2Dynamic Link Library111ОперацияInit()Done()JSON=GetDescription()ОписаниеИнициализация библиотекиЗавершение работы с библиотекойВозвращение описания всех плагинов, входящих в билиотекуТаблица 4.4: Функции API систмы модулей программного комплексаFCART.ОперацияCreate()Destroy()DescribeParams()Load/Save Params()ОписаниеСоздание одного объекта плагинаУдаление объекта плагинаОписание параметров плагина, управлящих его работой. Представлены вдвух форматах: машиночитаемом ичеловекочитаемомЗагрузкаисохранениепараметроввформатеописанномDescribeParamsТаблица 4.5: Общие функции для всех модулей в API систмы плагиновция DescribeParameters требует отдельного пояснения. Даннаяфункция возвращает JSON-массив, в котором каждый элемент соответствует одному параметру модуля. Для каждого параметра задаётся имя параметра, используемом в JSON описании, подсказка дляотображения в программе и значение по-умолчанию.Такой подход позволяет подгружать все возможные типы модулей, задавать им любые параметры и сохранять обратную совместимость при изменении модуля или самого программного комплекса.4.3.8Комплексы программ для работы с узорнымиструктурам и АФПУзорные структуры предоставляют богатый математический аппарат для работы со структурными данными.
Но на данный момент112не существует чётко специфицированного формата хранения такихданных. Поэтому для того, чтобы обрабатывать те или иные данные,приходится писать небольшие программы по конвертации данных. Вчастности, для этих целей в комплексе FCART используется специальный скриптовый язык. Далее требуется несколько программныхмодулей для построение узорной решётки для тех или иных данных.
Это может быть сделано как отдельными модулями в случаеFCART, так и отдельными программами, использующие библиотеки по работе с узорными структурами. Следующей составляющейпрограммного комплекса должен быть модуль отображения решётки,который позволяет существенно облегчить отображение результатови их ручной анализ. В рамках данной работы, в качестве данногомодуля всегда используется система визуализации FCART. Среди автоматического анализа полученных решёток, требуется составлениепрограмм для расчёта индекса устойчивости и его оценок. В конечном результате полученные “интересные” результаты могут быть использованы для задач классификации, для чего также требуется составлять отдельные программы.Всего для реализации данной работы были реализованы следующие программы и программные части:∙ Библиотека, реализующая методы узорных структур, котораяпозволяет небольшими усилиями добавлять в неё новые видыузорных структур;∙ Несколько модулей, оборачивающие данную библиотеку дляинтеграции в программный комплекс FCART;∙ Программы конвертации различных данных в форматы, обрабатываемые библиотекой;∙ Программа для расчёта устойчивости формальных понятий;∙ Программа для оценки устойчивости по методу Монте-Карло;∙ Программа для оценки устойчивости оценочным методым;113∙ Программа для оценки устойчивости комбинированным методом;∙ Различные вспомогательные утилиты для фильтрации, предварительного статистического анализа данных и для построенияграфиков.Все программные средства были реализованы на языке C++ подоперационной системой Linux без использования средств распараллеливания.
Общий объём написанных программ составляет 23058строк или 732 килобайта.4.4ЗаключениеВ это главе обсуждалась архитектура программного комплекса,позволяющего рассчитывать модели на основе решёток замкнутыхописания. В частности, это архитектура позволяет реализовать всемодели и методы обсуждаемые в предыдущих главах. Обсуждаемаяархитектура встроена в программный комплекс FCART, являющейсяодним из лидеров в области интеллектуального анализа данных сиспользованием математического аппарата АФП.
Результаты даннойглавы позволяют позволяют моделировать процессы с состояниямисложной структуры и другие структурные объекты всему научномусообществу.114Рисунок 4.6: Архитектура программного комплекса FCART.115Глава 5Построение и использование моделейпроцессов с состояниями сложнойструктуры на реальных данных5.1ВведениеВ этой главе модели, методы и комплекс программ, разработанные в предыдущих главах, применяются для моделирования процессов с состояниями сложной структуры.В начале будет исследован процесс с простыми состояниями, который возникает при посещении пользователями новостных сайтов.Данные, описывающие этот процесс являются открытыми и содержат около 106 записей.
Такое моделирование предназначено для исследования вычислительных возможностей введённых моделей. Затем будет промоделирован процесс госпитализации пациентов с состояниями сложной структуры (госпитализаций). Эти данные не доступны в открытых источниках и были получены от эксперта предметной области.Такой процесс описывается данными, в которых содержится около 2500 историй госпитализаций. На этой выборке будет продемонстрирована возможность получаемых моделей “отвечать” на некоторые вопросы экспертов. Исследуемые вопросы были синтезированыво взаимодействии с экспертом. Они показывают возможности разработанной модели.116Моделирование всех процессов проводились на компьютереIntel(R) Core(TM) i7-2600 CPU @ 3.40GHz с 8 Гб оперативной памяти, работающим под операционной системой Ubuntu 12.04.5.2Моделирование посещения новостных ресурсовпользователямиВ этом разделе рассматривается моделирование посещения новостных ресурсов пользователями.