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

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

CC BY
222
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ / ТРЕХДОЛЬНЫЕ ГРАФЫ / АЛГОРИТМ ОБХОДА ГРАФА / КОМПЛЕКСНЫЕ ПОКАЗАТЕЛИ / ALGORITHM OF GRAPH'S ROUND / DYNAMIC STRUCTURES OF THE DATA / TRIPARTITE GRAPH / COMPLEX INDICATORS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Якунин Юрий Юрьевич, Городилов Александр Андреевич

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

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

This paper presents algorithms of calculation of complex indicators on a set of factual data display in dynamic structures with application of the graph theory

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

УДК 519.174.2, 519.178, 519.87

Ю. Ю. Якунин, А. А. Городилов

АЛГОРИТМЫ РАСЧЕТА КОМПЛЕКСНЫХ ПОКАЗАТЕЛЕЙ В ДИНАМИЧЕСКИХ СТРУКТУРАХ ПРЕДСТАВЛЕНИЯ ДАННЫХ

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

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

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

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

Любые попытки создания динамических структур хранения данных приводят к появлению задачи трансформации этих данных в один из существующих способов их хранения в СУБД (реляционный, объектный или иерархический). Ни один из перечисленных способов не способен работать напрямую с динамическими структурами. Зачастую такие задачи решаются индивидуально по мере их возникновения. В результате отсутствуют какие-либо общие подходы для решения этих задач, а реализованные в некоторых программных продуктах в виде отдельных модулей подобные задачи, представляют собой коммерческую тайну. Таким образом, существует научная задача описания динамических структур данных, обработки информации в этих структурах и хранение её в СУБД, а также частная задача расчета комплексных показателей на множестве фактографических данных в динамической структуре, решение которой и предлагается в данной статье.

Представление фактографических данных на трехдольном графе. Для описания динамической структуры данных предлагается выделять следующие категории информации [5]:

- показатели - количественные характеристики объектов;

- классификаторы - структурообразующие данные, состоящие из взаимосвязанных классов и их экземпляров (объектов);

- фактографические данные - значения показателей в отношении одного или нескольких классификаторов.

Для представления каждой категории информации будем использовать соответствующее графовое описание.

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

Категории Показатели

Рис. 1. Граф показателей

В части категорий ребра показывают (слева направо) разбиение категорий на подкатегории, а в части показателей ребра показывают (слева направо) разбиение агрегированных показателей на более частные до элементарных показателей (неделимых). Агрегированные показатели могут состоять не только из показателей предыдущего уровня (к), но и из показателей следующего уровня (к + 1), через уровень (к + 2) и т. д.

Рассмотрим граф классификаторов (рис. 2). Граф делится на три уровня, каждый из которых несет собственную смысловую нагрузку. Так, уровень категорий пред-

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

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

Уровень категорий классификаторов

Уровень классификато ров

Уровень значений классификато ров

Рис. 2. Граф классификаторов:

Кат - категория классификаторов; К - классификатор; ЗК - значение классификатора

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

Фактографические данные представляют собой граф со множеством вершин, не имеющих ребер между собой, но имеющих ребра с вершинами графов классификаторов и показателей (рис. 4). Вершины фактографических данных представляют собой числа, которые являются количественными характеристиками одного или нескольких показателей в отношении с одним или несколькими классификаторами. Например, для показателя «заработная плата» и значения классификатора «отдел социальной работы», значение фактографического данного может равняться X рублей в год.

Рис. 4. Фрагмент графа фактографических данных:

ЗК - значение классификатора; П - показатель;

ФД - фактографическое данное

Таким образом, вершины фактографических данных, соединяясь с вершинами графов классификаторов и показателей, образуют граф со сложными взаимосвязями (рис. 5).

Для проведения аналитических операций над фактографическими данными с целью вычисления комплексных показателей будут использоваться не все вершины и рёбра графа. Например, для расчета суммарной годовой заработной платы в организационной единице «управление корпоративной политики» нужно просуммировать

а б

Рис. 3. Примеры представления структур: а - графовый вид; б - объектный вид

III

значения фактографических данных, у которых есть связи с вершинами, представляющими отделы этого управления, и вершиной показателя «заработная плата». Таким образом, из всего графа, представленного на рис. 5, будут использоваться только вершины фактографических данных и связанные с ними вершины графов классификаторов и показателей. Кроме того, если в качестве исходных данных для алгоритма вычисления комплексного показателя будут использоваться множество вершин значений классификаторов и множество вершин показателей, для которых нужно произвести вычисление, то рёбра между вершинами значений классификаторов будут не нужны. Поэтому, учитывая все вышесказанное, упростим граф фактографических данных (см. рис. 5) до трехдольного графа (рис. 6), который представляет собой три множества вершин (X, Х2 иX ), в каждом из которых вершины не имеют рёбер между собой, но имеют рёбра между вершинами соседних множеств [6].

Рис. 5. Граф фактографических данных: К - классификатор; ЗК - значение классификатора; П - показатель;

ФД - фактографическое данное

ными свойствами отличительными от простого графа, для которого уже существуют некоторые алгоритмы его обхода [7].

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

V!

Рис. 6. Трехдольный граф фактографических данных:

ЗК - значение классификатора; П - показатель;

X- множество вершин трехдольного графа

Трехдольный граф является частным случаем М-дольного графа (рис. 7), который обладает собствен-

Рис. 7. К-дольный граф: х - вершина графа;

X- множество вершин трехдольного графа

Алгоритмы поиска на К-дольном графе. Для осуществления поиска вершин в одной доле К-дольного графа необходимо определить два подмножества вершин Хк _1 и Х'к+1, объединённых в множество условий поиска ик, где к - номер доли, в которой будет выполняться поиск. При осуществлении поиска вершин в к-й доле будет сформировано подмножество Х'к, в которое будут отобраны вершины, имеющие полное множество ребер с подмножествами из условий поиска:

ик = Хк _1 и Хк+1. (1)

Для каждой вершины хк 1 е Хк будет выполняться следующее условие:

(Г(хк,<) ^ Хк_1) и (Г(хк,<) ^ Хк+1)=Хк_1и Хк+р (2) где Г (хк 1) - множество всех вершин, имеющих рёбра с вершиной хк ( .

Ниже описаны два новых алгоритма поиска на Кдоль-ном графе: «обход окрестностей одной вершины» и «пометка вершин».

Обход окрестностей одной вершины

1. Отобрать все вершины из множества Хк, которые имеют рёбра с одним из элементов из множества Пк и поместить их в множество X.

X

2.1

X

т.2

2

1 Условиями задаются подмножества вершин для (к - 1) и (к + 1) долей графа, если поиск выполняется в к-й доле. Если вершина к-й доли связана со всеми вершинами заданных подмножеств в (к - 1) и (к + 1) долях, то такая вершина имеет полное множество ребер.

2. Проверить каждую вершину хк , е Xk, имеет ли она полное множество ребер с вершинами множества Пк. Если условие не выполняется, то вершина хк , удаляется из множества X'k.

Анализ данного алгоритма позволил выявить зависимость количества переходов С, необходимых для осуществления поиска, от условий поиска:

С = Х (|Г(Ъ) _ 1) , (3)

/=1

где \г(хк, )| - количество вершин, связанных с элементом хк,,■.

Пометка вершин

1. Выбрать вершину ик,, из множества и. Ввести множество меток M, размерность которого равна |Xk|, и каждому элементу этого множества присвоить «О». , = 1.

2. Для вершины ик. найти множество Г(ик,) с Xk. Для каждого хк,! вие хк,] е Г(uk,,) личить значение на «1».

3. , = , + 1. Если , = п.

Иначе перейти к шагу 2.

4. Найти вершину в множестве количеством рёбер и поместить связанные с ней вершины из Хк в множество Х'к.

5. В результирующее множество Х]Те8 из множества X* отобрать вершины, имеющие полное множество рё-

из

множества

и,.

С = XIГ(икі) є Хк І + тіп(А),

(4)

где А = {|Г(ик,) є Хк |,і = 1,п} .

Перед началом поиска в соответствии с примером зададим множество условий (1):

и2 = {X1,3, х1,5 }и{хз,1 } = { х1,3 , х1,4 , хз,1} .

є Хк, для которого выполняется усло-соответствующей метке ті є М уве-

перейти к следующему шагу.

и, с наименьшим

бер с вершинами X= {"хк, еX'k\m¡ = \ик}.

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

Анализ формул (3), (4) показал, что при небольшом количестве условий поиска (от 1 до 4) эффективнее (с точки зрения количества переходов между вершинами графа) работает алгоритм «пометка вершин», а при увеличении условий поиска эффективнее работает алгоритм «обход окрестностей одной вершины».

Алгоритмы вычисления комплексных показателей. Комплексный показатель вычисляется на множестве фактографических данных Х2 трехдольного графа 03 (рис. 6) путем выделения подмножества X2 с Х2, удовлетворяющего условиям и2 (1), и выполнения операций над этим подмножеством. Таким образом, функция вычисления комплексного показателя (КП) представляет собой алгоритмическую функцию поиска на трехдольном графе с заданными условиями и аналитическую функцию преобразования над полученным множеством:

КП = ^ (Оз,и 2). (5)

Рассмотрим пример вычисления комплексного показателя с применением новых алгоритмов поиска на М-дольных графах. Допустим, на трехдольном графе фактографических данных (рис. 8) требуется вычислить ко -личество выпускников в 2007 г. по специальности «токарь». В таблице приведено описание вершин графа для данного примера.

Рис. 8. Пример фактографических данных о выпуске специалистов: х - вершина графа;

X- множество вершин трехдольного графа

Применение алгоритма «Обход окрестностей одной вершины»:

1. Отобрать все вершины из множества X2, которые имеют рёбра с вершиной х13 из множества и2, и поместить их в множество X 2 = {х2 1, х2 2, х2 3, х2 4, х2 5, х2 6}.

2. Проверить каждую вершину х2, е X2, имеет ли она полное множество ребер с вершинами множества и2. Если условие не выполняется, то вершина х2, удаляется из множества X2. В результате в множестве X2 остаются следующие элементы { х21, х23}.

Значения элементов множества X2 берем из таблицы. Для вычисления комплексного показателя «количество выпущенных специалистов в 2007 г.» выполним операцию суммирования над элементами получившегося подмножества и получим искомое значение - 15.

Применение алгоритма «Пометка вершин»:

1. , = 1. Выбрать вершину и2, из множества иг (и21 = х13). Ввести множество меток М, размерность ко -торого равна |X21 = 10 и каждому элементу этого множества присвоить «0».

2. Для вершины и2, найти множество Г(и2,) с X2 для ",. Для каждого х2,! е X2, для которого выполняется условие х2,) е Г(и2,), соответствующей метке mJ е М увеличить значение на «1».

1 = 1: и2,1 = х1,3 , Г(и2,1) X2,2, X2,3, X2,4, X2,5, ^

М = {1, 1, 1, 1, 1, 1, 0, 0, 0, 0};

1 = 2: и2,2 = х1,5 , Г(и2,2 ) {х2 р X23, X210}, М = {2, 1 2, 1

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

1, 1, 0, 0, 0, 1};

1 = 3: и2,3 = х3,1, Г(и2,3 ) ={х2,р X2,2, X2,3, X2,4, X2,5, ^

М = {3, 2, 3, 2, 2, 2, 0, 0, 0, 1}.

3. Найти вершину в множестве и2 с наименьшим количеством рёбер, в нашем случае х1,5, и поместить свя-

X

3.1

X

3.2

X

X

X

занные с ней вершины из Х2 в множество Х'2 ={х2 х23,

Х2,10}' "

4. В результирующее множество Xиз множества

Х'2 отобрать вершины, имеющие полное множество рёбер с вершинами из множества П2 :

-С = {"х2,,-6 Х 21 т = 1и2|}={х2,1, *„}.

Комплексный показатель вычисляется аналогично предыдущему примеру и равняется 15.

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

В развитие данного подхода планируется проведение дальнейших исследований: выявление структуры графа представления показателей, особенностей его построения и алгоритмов обхода этого графа; исследование возможностей хранения графов показателей, классификаторов и фактографических данных в системах управления базами данных в неизменном виде и разработка методик

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

Библиографические ссылки

1. Постреляционная СУБД Cache 5. Объектно-ориентированная разработка приложений / В. Кирстен, М. Ирин-гер, М. Кюн, Б. Рериг. 2-е изд. М. : Бином-Пресс, 2005. 416 с.

2. Кайт Т. Oracle для профессионалов. СПб. : ДиаСофт-ЮП, 2005. 656 с.

3. Фаулер М., Скот К. UML. Основы. СПб. : Символ-Плюс, 2002. 192 с.

4. Волкова В. Н., Денисов А. А. Теория систем : учеб. пособие. М. : Высш. шк., 2006. 511 с.

5. Шовкун А. В. Построение корпоративной информационно-аналитической системы в условиях постоянно изменяющегося бизнеса // Науч.-техн. информация. Серия 1. М. : ВИНИТИ, 2004. №> 9. С. 1-6.

6. Харари Ф. Теория графов. М. : Эдиториал УРСС, 2003. 296 с.

7. Ананий В., Левитин А. Алгоритмы: введение в разработку и анализ = Introduction to The Design and Analysis of Aigorithms. М. : Вильямс, 2006. С. 189-195.

Условные обозначения значений классификаторов и показателей

Вершина Характеристика вершины Пояснение

*1.1 ПУ-1 Наименование образовательного учреждения

*1.2 ПУ-2 Наименование образовательного учреждения

*1.3 2007 Период (весь 2007 г.)

*1.4 2008 Период (весь 2008 г.)

*1.5 Токарь Наименование профессии

*1.6 Водитель Наименование профессии

*1.7 Повар Наименование профессии

*2.1 10 Количественная характеристика фактографического данного

*2.2 20 Количественная характеристика фактографического данного

*2.3 5 Количественная характеристика фактографического данного

*2.4 7 Количественная характеристика фактографического данного

*2.5 13 Количественная характеристика фактографического данного

*2.6 3 Количественная характеристика фактографического данного

*2.7 7 Количественная характеристика фактографического данного

*2.8 4 Количественная характеристика фактографического данного

*2.9 11 Количественная характеристика фактографического данного

*2.10 6 Количественная характеристика фактографического данного

*3.1 Выпуск специалистов Наименование показателя

*3.1 Набор студентов на первый курс Наименование показателя

Yu. Yu. Yakunin, A. A. Gorodilov

ALGORITHMS OF CALCULATION OF COMPLEX INDICATORS IN DYNAMIC STRUCTURE OF DATA VIEW

This paper presents algorithms of calculation of complex indicators on a set of factual data display in dynamic structures with application of the graph theory.

Keywords: dynamic structures of the data, tripartite graph, algorithm of graph’s round, complex indicators.

© Якунин Ю. Ю., Городилов А. А., 2010

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