Анализ вычислительной сложности решения задач агрегирования данных в Olap-гиперкубах

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

Рубрика Математика
Вид статья
Язык русский
Дата добавления 18.01.2018
Размер файла 71,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

АНАЛИЗ ВЫЧИСЛИТЕЛЬНОЙ СЛОЖНОСТИ РЕШЕНИЯ ЗАДАЧ АГРЕГИРОВАНИЯ ДАННЫХ В OLAP-ГИПЕРКУБАХ

А.Б. Афанасьев

А.А. Ахрем

А.В. Бодров (alexey.bodrov@yandex.ru)

Институт Системного Анализа РАН, Москва

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

сложность вычислительный гиперкуб

Введение

В настоящее время все большую популярность приобретают системы многомерного оперативного анализа данных (OLAP-системы). Несмотря на то, что теоретических исследований и практических работ по данной тематике накопилось достаточно много, все еще есть проблемы, требующие детальной проработки. Например, так называемый эффект «взрыва данных» [Потгитер, 2004], разреженность данных, проблемы с производительностью при анализе динамически меняющихся данных и прочие.

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

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

Для решения проблемы «взрыва данных» предлагается так называемый алгоритм формирования подкубов [Ho и др., 2008]. Суть его заключается в том, что оперативно формируются подкубы с агрегатами. При нехватке места на диске удаляются те подкубы, которые используются редко. Это заключение делается на основе оценки статистики обращения к подкубам. В результате работы этого алгоритма во внешней памяти постоянно находится массив подкубов, к которым происходит наиболее частое обращение, что дает прирост производительности системы.

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

1. Агрегация

1.1 Определение и математическое описание агрегации

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

Для математического описания операции агрегации воспользуемся некоторыми обозначениями и формализмом [Хрусталев, 2003]. Предположим, что имеем m размерностей OLAP-куба с ni количеством членов в i-ой размерности, где i = 1..m. Упорядочим некоторым образом существующие размерности и сопоставим каждой размерности порядковый номер i в соответствии с указанной сортировкой. Обозначим множество таких порядковых номеров I, так что m = | I |.

Обозначим некоторое множество агрегатов через Al1…li…lm, где li {0,1}: выделим также такое подмножество порядковых номеров

I0 = {ik | ik I & lik = 0}, k = 1…p, p <= m.

Тогда будем считать, что Al1…li…lm - это множество агрегатов, полученных агрегированием по всем членам тех размерностей, порядковый номер которых i I0.

Тогда A1…1, где индексы во всех позициях равны 1, является множеством исходных данных; A0…0, где индексы во всех позициях равны 0, содержит единственное значение полного агрегата.

Упорядоченную последовательность l1,…,li,…,lm, соответствующую множеству агрегатов Al1…li…lm, будем называть состоянием агрегации.

Введем понятие уровня детализации l = l1 +…+ li +…+ lm. Очевидно, разные состояния агрегации, а, следовательно, и множества агрегатов могут соответствовать одному и тому же уровню детализации.

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

A(i, Al1…li…lm) = Al1…li*…lm,

где li* = max{0, li - 1}.

Из определения оператора агрегирования следует три утверждения.

Утверждение 1.1. Уровень детализации результирующего множества на единицу меньше уровня детализации исходного множества.

Утверждение 1.2. Множество агрегатов, соответствующих корневому уровню i-ой размерности, неизменно при воздействии оператора агрегации по i-ой размерности:

A(i, Al1…l(i-1),0, l(i+1)…lm) = Al1… l(i-1),0, l(i+1)…lm.

Утверждение 1.3. Множество агрегатов Al1…li…lm может быть получено из различных исходных множеств на единицу большего уровня детализации при воздействии оператора агрегирования по различным размерностям:

Al1…li…lm = {A(i, Al1…li-1…lm) | i =1…m & li=0…li*-1}.

1.2 Вычислительная сложность агрегации

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

Введем обозначение C(i, Al1…lilm) для вычислительной сложности агрегирования множества Al1…li…lm по i-ой размерности.

Дальнейшие рассуждения будем вести для случая с тремя простыми размерностями. N, M, T - множества мер соответствующих размерностей, количество мер в каждой из размерностей nn = |N|, nm = |M|, nt = |T|, меры этих размерностей будем обозначать соответственно mn, mm, mt.

Для формирования множества агрегатов A011 для каждой комбинации мер множеств M и T необходимо просуммировать исходные значения показателей nn-1 раз. Таким образом, с учетом того, что i(N)=1, i(M)=2, i(T)=3 - порядковые номера размерностей, затраты на выполнение агрегирования A(1, A111) = A011 определяются как

C(1, A111) = (nn-1)nmnt.

Аналогично при формировании множеств агрегатов A101 и A110 на основании исходных значений показателей получим соответственно затраты:

C(2, A111)=nn nt (nm-1) и C(2, A111) = nn nm(nt-1).

Получение множества A001 согласно утверждению 1.3 возможно двумя способами:

A001 = A(1, A101) агрегирование множества A101 по размерности N;

A001 = A(2, A011) агрегирование множества A011 по размерности M.

Очевидно, что затраты на эти операции различны и равны соответственно

C(1, A101) = (nn1)nt C(2, A011) = (nm1)nt.

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

2. Исследование зависимости вычислительной сложности агрегирования от основных параметров гиперкуба

Предположим, что задан гиперкуб Hn многомерных данных, имеющий n>2 размерностей. Допустим, что для решения некоторой задачи (некоторого класса задач) на Hn используется подмножество Kn(m) гиперкуба Hn, образованное данными с m(m<n) размерностями с фиксированными значениями. Предположим дополнительно, что сложность решения задачи на Hn допускает следующие оценки:

M(n ,a)=na; (2.1)

A(m, n, a)<ma; (2.2)

B(n-m, n, a)<(n-m)a; (2.3)

где M - сложность решения исходной задачи на гиперкубе Hn;

A, B - сложности решения задачи на подмножествах Kn(m) и Hn\Kn(m) соответственно;

m(m<n) - фиксированное натуральное число;

a(a>1) - коэффициент сложности решения исходной задачи на гиперкубе Hn.

Справедливо следующее предложение.

Утверждение 2.1.

Величины A, B, M удовлетворяют неравенству

A + B < M. (2.4)

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

Лемма 2.1.

Пусть даны числа x, y, удовлетворяющие неравенствам:

0<x<1, 0<y<1; xa1+yb1<1, a1>0, b1>0. (2.5)

Тогда для любых чисел c1>a1, d1>b1 выполнено соотношение:

xc1+yd1<1.

Доказательство леммы 2.1.

Для чисел x, y, c1, d1 имеют место неравенства:

xc1 = xc1-a1*xa1<xa1; (2.6)

yd1 = yd1-b1*yb1<yb1. 2.7)

Используя (2.5)-(2.7), окончательно получаем, что

xc1+yd1<xa1+yb1<1,

что и требовалось доказать.

Доказательство утверждения 2.1.

Принимая во внимание неравенства (2.1) - (2.3), находим, что

A+B<ma+(n m)a; (2.8)

M = na. (2.9)

Так как a>1, m/n+(1-m/n)=1, то, применяя результат леммы 2.1 при a1=b1=1, c1=d1=a, будем иметь

na*[(m/n)a+(1 m/n)a]<na=M. (2.10)

Из цепочки неравенств (2.10) окончательно заключаем, что A+B<M, что и требовалось установить.

Утверждение 2.1 полностью доказано.

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

При m=1 из неравенства (2.4) утверждения 2.1 заключаем, что

A+B<1+(n1)a<na=M. (2.11)

Из неравенства (2.11) находим, что при m=1 (т.е., когда фиксируется лишь одна размерность гиперкуба данных Hn) справедливы соотношения:

(A+B)*M-1<n-a*(1+(n1)a)=n-a+(11/n)a. (2.12)

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

Допустим теперь, что сложности A, B, M удовлетворяют оценкам:

A(m, n, a) = A(p, n, a) =pa*na; (2.13)

B(n-m, n,a)=B((1-p),n,a)=(1-p)a*na; (2.14)

M(n,a)=na, (2.15)

где m=pn, p=const, 0<p<1, a=const, a>1.

Для сложностей A, B, M в данном случае справедливо следующее утверждение.

Утверждение 2.2.

Сложности A, B, M при любых значения p, 0<p<1, удовлетворяют неравенству

M*21-a<A+B. (2.16)

Доказательство.

Используя (2.13) - ( 2.15), находим, что

A+B=[pa+(1p)a]*na=s(p)*M, (2.17)

где s(p) ? pa+(1 p)a.

Для функции s(p) справедливо следующее соотношение

s(p)>21-a (2.18)

для любых p, 0<p<1; a>1.

Для доказательства (2.18) найдем сначала точку минимума pmin функции (2.18). Точка pmin должна удовлетворять следующей системе неравенства [Зорич, 1981]:

ds/dр(pmin)=a[pmina-1 (1 pmin)a-1]=0; (2.19)

d2s/dр2(pmin)=a(a1)[pmina-2+(1 pmin)a-2]>0.

Нетрудно показать, что система алгебраических неравенств (2.19) имеет единственное решение pmin:

pmin = 1/2 (2.20)

Используя (2.17), (2.20), находим, что

s(pmin) = s(1/2) = 2-a+2-a = 21-a. (2.21)

Принимая во внимание (2.17), (2.21), окончательно получаем, что

A+B = na*s(p) > na*s(pmin) = 21-a*na = 21-a*M,

что и требовалось доказать.

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

Рассмотрим наконец случай, когда сложности A, B, M удовлетворяют соотношениям:

A=A(m,n,b)=mb;

B=B(n-m,n,c)<(n-m)c;

M=M(n,c)=nc,

где m=l*n, 0<l<1, b=const, c=const, c>b.

Этот случай описывает ситуацию, при которой размерности гиперкуба Hn отличаются по сложности.

В данной ситуации при больших значениях натурального параметра n будем иметь:

A+B=mb+(n-m)c=[(m/n)b*nb-c+(1-m/n)c]*nc=[lb*nb-c+(1-l)c]*nc=(1l)c*M. (2.22)

Из цепочки соотношений (2.22) заключаем, что:

а) сложность решения декомпозированного варианта задачи на гиперкубе многомерных данных Hn уменьшается по сравнению со сложностью традиционного переборного метода ее решения в (1-l)-c раз;

б) коэффициент уменьшения сложности k=(1-l)c является монотонно убывающей функцией своих аргументов l,c:

K(l',c') > k(l'',c'') при l''>l', c''>c', (0<l<1).

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

3. Пример оценки коэффициентов сложности

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

Ниже приведены результаты оценки коэффициентов относительной сложности на примере гиперкубовой структуры для многомерного анализа учетных данных по продажам иномарок в России за период с 2001 по 2009 годы. Подсчет коэффициентов относительной сложности проводится по всем возможным слоям каждой размерности гиперкуба (рис 1.). В качестве размерностей по осям куба отложены: Страна, Компания, иерархия Класс-Модель, а метрики или анализируемые показатели числа продаж расположены в ячейках куба. Общее число ячеек куба составляет 3499.

Рис. 1. Гиперкуб и подкуб

На рисунке 2 представлены все подкубы для размерности Класс. Для каждого значения размерности найдено число сканированных ячеек, которое изменяется для данной размерности в диапазоне от 147 до 783. Коэффициенты относительной сложности определяются отношениями этих чисел к общему числу ячеек куба.

Рис. 2. Число записей по членам размерности Класс

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

Табл. 1. Коэффициенты относительной сложности

Наименование размерности

Число членов размерности

Диапазон

значений

детального

уровня

Диапазон

коэффициентов

относительной

сложности

Страна

15

4 - 789

0,0011 - 0,2254

Класс

11

147 - 783

0,042 - 0,2237

Компания

90

1 - 147

0,00028 - 0,042

Факты

3499

-

-

Заключение

В работе исследуются математические методы анализа задач агрегирования и обработки многомерных данных в гиперкубах аналитических OLAP-систем. Введено понятие вычислительной сложности решения таких задач. Изучена зависимость величины сложности от основных параметров гиперкубов данных. Найдены границы изменения величины вычислительной сложности при варьировании основных параметров гиперкубов.

Благодарности. Работа выполнена при финансовой поддержке РФФИ (проект № 10-01-00674).

Список литературы

[Ho и др., 2008] Ho Kuo-Wei and Chen Huei-Huang. OLAP Query Processing via Subcubes. - Feng Chia University, 2008.

[Зорич, 1981] Зорич В.А. Математический анализ. - М.: Наука, 1981.

[Потгитер 2004] Потгитер Йохан. Масштабируемость OLAP-данных. http://citcity.ru/11158/

[Хрусталев, 2002] Хрусталёв Е.М. Агрегация данных в OLAP-кубах. http://www.olap.ru/home/mut.asp

Размещено на Allbest.ru

...

Подобные документы

  • Предмет вычислительной техники - задачи, которые умеют решать машины. Измерение сложности задачи. Алгоритм сортировки слиянием. Полиномиальные и не полиномиальные задачи. Понятие недетерменированного алгоритма. Графическое представление классификации.

    презентация [277,7 K], добавлен 22.10.2013

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

    курсовая работа [488,3 K], добавлен 22.05.2022

  • Обобщенные циклотомические последовательности. Цикломатические числа и их свойства. Метод расчета линейной сложности обобщенных циклотомических последовательностей. Примеры вычисления линейной сложности двоичных последовательностей с периодами.

    курсовая работа [797,5 K], добавлен 13.06.2013

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

    реферат [254,5 K], добавлен 31.05.2014

  • Методы, используемые при работе с матрицами, системами нелинейных и дифференциальных уравнений. Вычисление определенных интегралов. Нахождение экстремумов функции. Преобразования Фурье и Лапласа. Способы решения вычислительных задач с помощью Mathcad.

    учебное пособие [1,6 M], добавлен 15.12.2013

  • Разработка простого метода для решения сложных задач вычислительной и прикладной математики. Построение гибкого сеточного аппарата для решения практических задач. Квазирешетки в прикладных задачах течения жидкости, а также применение полиномов Бернштейна.

    дипломная работа [1,9 M], добавлен 25.06.2011

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

    лабораторная работа [463,7 K], добавлен 28.06.2013

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

    курсовая работа [164,1 K], добавлен 11.03.2010

  • Структура текстовой задачи. Условия и требования задач и отношения между ними. Методы и способы решения задач. Основные этапы решения задач. Поиск и составление плана решения. Осуществление плана решения. Моделирование в процессе решения задачи.

    презентация [247,7 K], добавлен 20.02.2015

  • Методы вычислительной математики, работа с приближёнными величинами. Понятие абсолютной, предельной абсолютной и относительной погрешности приближённого числа. Выведение формулы предельной абсолютной и относительной погрешностей для заданной функции.

    контрольная работа [85,3 K], добавлен 05.09.2010

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

    методичка [1,3 M], добавлен 02.03.2010

  • Выявление психологических особенностей личности учащихся 5 классов. Компоненты вычислительной культуры. Выбор наиболее эффективных методов и средств повышения вычислительной культуры школьников. Разработка фрагментов уроков для учеников младших классов.

    дипломная работа [327,7 K], добавлен 14.10.2014

  • Оптимальная настройка параметров "алгоритма отжига" при решении задачи коммивояжера. Влияние начальной температуры, числа поворотов при одной температуре и коэффициента N на результат. Сравнение и определение лучшей функции для расчётов задачи.

    контрольная работа [329,9 K], добавлен 20.11.2011

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

    диссертация [2,8 M], добавлен 19.06.2015

  • Cтатистический анализ зависимости давления. Построение диаграммы рассеивания и корреляционной таблицы. Вычисление параметров для уравнений линейной и параболической регрессии, выборочных параметров. Проверка гипотезы о нормальном распределении признака.

    курсовая работа [613,3 K], добавлен 24.10.2012

  • Изучение прямых методов решения вариационных и краевых задач математического анализа. Основные идеи методов Ритца и Галеркина для нахождения приближенного обобщенного решения задачи минимизации функционала. Особенности, сходство и отличие данных методов.

    презентация [187,9 K], добавлен 30.10.2013

  • История возникновения уравнений, понятие их решения и виды упрощения. Анализ способов решения ряда занимательных задач с помощью уравнений. Обращение Аль-Хорезми с уравнениями как с рычажными весами. Параметры и переменные, область определения и корень.

    реферат [38,0 K], добавлен 01.03.2012

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

    реферат [727,1 K], добавлен 19.02.2014

  • Применение математических и вычислительных методов в планировании перевозок. Понятие и виды транспортных задач, способы их решения. Особенности постановки задачи по критерию времени. Решение транспортной задачи в Excel, настройка параметров решателя.

    курсовая работа [1,0 M], добавлен 12.01.2011

  • Анализ исследований в области лечения диабета. Использование классификаторов машинного обучения для анализа данных, определение зависимостей и корреляции между переменными, значимых параметров, а также подготовка данных для анализа. Разработка модели.

    дипломная работа [256,0 K], добавлен 29.06.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.