НАУКА и ОБРАЗОВАНИЕ
Эл №ФС 77 - 30569. Государственная регистрация №0421100025.155М 1994-0408_
Алгебра многомерных матриц для обработки адаптируемой модели данных
# 07, июль 2011
авторы: Елисеев Д.В., Балдин А.В.
УДК. 004.652
МГТУ имени Н.Э. Баумана [email protected] [email protected]
Введение
Адаптируемая информационная система состоит из подсистемы хранения данных и интеллектуальной подсистемы [1]. Функционирование интеллектуальной подсистемы зависит от хранимых знаний, т.е. подсистему можно изменять (модифицировать) через изменение хранящихся знаний. Т.к. интеллектуальная подсистема должна взаимодействовать с подсистемой хранения данных, то важной задачей, определяющей способность системы к развитию, является разработка адаптируемой модели представления данных.
Адаптируемость автоматизированной информационной системы в первую очередь определяется свойствами модели представления данных. В настоящее время одним из основных средств описания и хранения данных являются реляционные СУБД [2]. Это связано с тем, что реляционная модель крайне проста в проектировании и реализации по сравнению с другими моделями данных (иерархическими, сетевыми, объектными) и имеет мощный математический аппарат, основанный на теории множеств и реляционной алгебре.
Одним из недостатков ограничивающих применение реляционных СУБД для создания адаптируемых систем является недостаточная гибкость структуры данных. Многомерное представление реляционной модели данных позволяет устранить этот недостаток [2]. Главным отличием многомерного представления данных от табличного представления, используемого в реляционных СУБД, является то, что можно в любой момент времени добавлять новые элементы во множества, определяющие оси многомерного пространства [5]. Тем самым происходит изменение модели данных. Табличное представление реляционной модели не позволяет изменять саму модель при функционировании автоматизированной системы.
Многомерное пространство представления данных можно разделить на три уровня: оси многомерного пространства, декартово произведение множеств значений осей и значения точек пространства [2]. Такая структура позволяет вводить как дополнительные оси и размерности, так и дополнять множества элементов существующих осей в любой момент времени.
Для реализации адаптируемой модели данных на основе многомерного пространства необходимо определить обобщённую структуру такого пространства и ввести ряд операций по обработке данных.
1 Многомерное пространство для адаптируемой модели
данных
1.1 Структура многомерного пространства для адаптируемой модели данных
Определим общую структуру многомерного пространства для описания адаптируемой модели данных, основанной на реляционной модели.
Реляционная модель данных - это множество нормализованных отношений (таблиц), к которым применимы операции реляционной алгебры [3]. Каждое отношение включает в себя множество атрибутов и множество записей, которые определяются ключом отношения [2, 4]. Таким образом, для описания реляционной модели данных в многомерном пространстве необходимо ввести три оси: ось сущностей предметной области (название отношения), ось атрибутов сущностей и множество идентификаторов записи сущности.
Назовём пространство <сущность, атрибут, идентификатора определяющим, и соответственно образующие это пространство оси - определяющими осями. Тогда значение каждой точки в определяющем пространстве зависит от параметров - других осей, образующих многомерное пространство.
Адаптируемая система изменяется (развиваться) со временем [5]. Поэтому необходимо ввести ось времени, которая будет определять состояние модели данных при описании поведения адаптируемой информационной системы.
Состояние модели данных в момент времени I - совокупность точек многомерного пространства, значения которых в определяющем пространстве по параметру оси времени являются последними до заданного момента времени ¿. Таким образом, для реляционной модели состоянием модели данных является совокупность отношений в определённый момент времени.
Для обеспечения многопользовательского режима работы и безопасности хранимой информации следует определить ось модификаторов системы, т.е. множество пользователей системы. Данная ось определяет, какой пользователь изменил состояние модели данных.
Таким образом, структура многомерного пространства для адаптируемой модели данных состоит из пяти основных множеств (осей).
1. V - множество сущностей предметной области.
V = {4 (=1Х, ¡V = VI.
2. Б - множество атрибутов сущностей предметной области. X = {ф- = 1Л, ¡Б = |4
3. Ю - множество идентификаторов записи сущности. Множество идентификаторов записей сущности будем считать множество натуральных чисел. В каждой сущности идентификатор выделяет конкретную запись из отношения. Поэтому в каждом отношении идентификатор записи не должен повторяться, должен быть уникальным.
4. Т - множество времён изменений состояний модели данных. Введём на
множестве Т отношение порядка (Т, — т.е. ^1 — ^2 когда событие t2 произошло не раньше события t¡.
5. и - множество модификаторов. Содержит идентификатор пользователя, который произвёл изменение значения точки многомерного пространства.
и = {и(},,=ТЛи. ¡и = |и|.
Тогда многомерное пространство будет иметь следующий вид:
ММ = V х Б X Ю X Т X и.
Если т е ММ, то т = (у, 5, ¡ё, t, и) - точка многомерного пространтсва.
1.2 Работа с многомерным пространством для адаптируемой модели данных
В соответствии с разделом 1.1 многомерное пространство для адаптируемой модели данных хранит отношения реляционной модели предметной области. Поэтому для получения результата запроса целесообразно разделить операции на два типа (рис. 1).
1. Операции над элементами осей многомерного пространства (операции с координатами точек). Данные операции выполняются над координатами точек многомерного пространства, не анализируя значения этих точек. Это операции по выделению различных подпространств, соответствующих определённым условиям по осям (операции по получению срезов многомерного пространства).
2. операции реляционной алгебры (язык БОЬ) [3, 4].
Многомерное пространство (М)
Отношения (двумерные матрицы)
Результат
Рис. 1. Схема работы с многомерным информационным пространством.
Введём функцию получения значения точки многомерного пространства:
Cm = Cx(m).
Операции с координатами точек выделяют требуемое подпространство. Затем выделенное подпространство преобразуется в отношения предметной области, с помощью многократного применения функции Сх(m) ко всем точкам выделенного подпространства. К полученным отношениям можно в дальнейшем применять операции реляционной алгебры для определения результата запроса (рис. 1).
2 Алгебра многомерных матриц
2.1 Определение многомерной матрицы
Определение: Р-мерная матрица (многомерная матрица) - совокупность элементов
С,.
¡1,. ., ¡р 1 па, (а = 1, ..., р)
где индексы 1 р принимают значения от 1 до а 4 соответственно.
с =
Р-мерная матрица содержит п1 х п х ^ х Пр элементов и обозначается М (1. (р [6].
Пример трёхмерной кубической матрицы представлен на рис. 2.
1- ‘р
C111
C311 C211 ✓f" _
I
C
C312
C212t'j
112 ✓. I
C
! C321!
;22V.T-~
C121I ^, 1 C
F ,-r-1 1
I C331I
c231[/-_"
C131L' C
\L._________
I ! 1
I Cp22l
C313 C213 /*
C113 ✓ , _T!
-4- H-
I C^23l
cWI
I C^32l
"C^2j^
C123
—Г
I
132* / ____к.
I cb33< — “ +■ —Г— ^
C133I '
______У
Рис. 2. Трёхмерная кубическая матрица.
Таким образом, многомерное информационное пространство СМ, описанное в разделе 1.1, может быть представлено в матричном виде следующим образом:
См гd,t,и |[ Матрица состоит из значений точек многомерного пространства. Если точка не входит в описание модели предметной области, тогда её значение равно «null», иначе точка содержит значение типа «скаляр», т.е. число, дата, строка или булево значение.
Введение алгебраической структуры многомерной матрицы позволяет проводить операции в многомерном пространстве над индексами (элементами осей пространства), не анализируя значения матрицы. Операции над многомерными матрицами выделяют отношения предметной области (двумерные матрицы), которые можно в дальнейшем обрабатывать с помощью операций реляционной алгебры (язык SQL). Схема работы с многомерным информационным пространством представлена на рис. 1.
2.2 Алгебра многомерных матриц
Определение: алгебра многомерных матриц - алгебра (Е< где Е - множество
многомерных матриц, а ^ - множество операций [6].
Определим множество многомерных матриц E
-С : С иСм - См }, где См -многомерная матрица, описывающая многомерное пространство адаптируемой модели данных, а и - операция объединения подпространств, описываемых многомерными матрицами, рассмотренная ниже. Такое определение множества многомерных матриц гарантирует, что при использовании введённых операций над многомерными матрицами мы не выйдем за пределы многомерного пространства адаптируемой модели данных.
Введём следующие операции над многомерными матрицами, в соответствии с представленной структурой многомерного пространства в разделе 1.1:
2.2.1. Область доступа.
Областью доступа для пользователя ис будем называть многомерную матрицу
С„ =ф(сы) = |к,ш„II, Ф(у,я,(Л,t,и) = Истина. следующего вида: с м 11 ,я’ , ,и|1
Ф(у-’s, , t, и) - функция проверки принадлежности элемента матрицы с
т = (у, я, ¡Л, t, и) г
координатами ' 1 области доступа, определённой у пользователя ис. Область
доступа делает доступным ту часть многомерного пространства, к которой есть доступ у пользователя.
2.2.2. Объединение подпространств многомерных матриц.
Пусть даны 2 многомерные матрицы
СА = (С, ,^ ¿¿л ^ ,„А | УА *УА С У, ЭА * 8А С 8, ¡ЛА * ЮА С Ю, tA * ТА С Т, „А * иА С и,
СВ = \\Сув,*в,Мв;в,ив | ув * Ув С V, ^ * Бв с 8, ^ С ID, tв * Тв с Т, „в * ив С и.
Тогда Сй = СА ^ СВ = ||СvD ^ ,е^ ,^ ,uD||, еУА ^ УВ , * БА ^ 8В , ІdD * ЮА ^ IDB ,
tD * ТА ^ ТВ> UD * иА ^ ^В .
2.2.3. Пересечение подпространств многомерных матриц.
Пусть даны 2 многомерные матрицы
СА = \СуА,*АМАЛА,ил | УА *УА С У, Эа * 8А С 8, ¡¿а * 1Йа С ID, tA * Та С Т, „А * иА С V,
СВ = \\СУв,*в,Мв,!в,ив | ув * УВ С У, яв * БВ С 8, ¡¿в * Юв С Ю, tв * Тв С Т, ив *ив С и.
Тогда CD = сл п СВ = \\с„в ^ Мв ,(с ,ио| ^ VD *УА п у , ^ * 8А П 8В , ІdD * ЮА П ЮВ ,
tD * ТА П ТВ> „й *иА П ив
2.2.4. Разность подпространств многомерных матриц. Пусть даны 2 многомерные матрицы
СА = I УА *УА С У, *А * 8А С 8, ¡¿А * 1Йа С Ю, tA * Тл С Т, ил * ил С и,
СВ = ||СУВ,,В,мВ,ÍB,иВ \[ ув * УВ С у, яв * Бв С 8, ¡¿В * 1йв С Ю, tв * Тв С Т, ив *ив С и.
Тогда СЙ = СА \ СВ = \\Сув ^ Мв ЛВ ,ив I[ *УА \ УВ , Эй * Ял \ 8В , * ЮА \ ЮВ ,
tD * ТА \ ТВ, „й *иА \ ив .
Т.к. все многомерные матрицы являются частями одного многомерного пространства, то в разных матрицах элементы, имеющие одинаковые индексы, имеют и одинаковые значения. Поэтому при объединении, пересечении и разности подпространств
многомерных матриц нет необходимости проверять значения точек пространства. Результатом выполнение этих операций будет всегда многомерная матрица, описывающая соответствующее определённую часть общего многомерного пространства.
2.2.5. Сечение
Определение: Совокупность элементов матрицы с фиксированным значением
индексов
называется сечением ориентации
С = с
у,з,і(і,і,и I
будем называть
Таким образом, сечением многомерной матрицы многомерную матрицу:
Св=вг\с,, <
& /У ¡1 2. п
где / - функция проверки логического выражения вида '.¡1 = г1 и ¡2 = г2 и... и ¡к = гк, к < N. Тогда сечение многомерной матрицы будет иметь вид:
с.
с,=
2121...2кг к+1... п
Назовём сечением первого уровня - п-мерную матрицу, у которой зафиксировано значение одного индекса.
Сечение второго уровня - п-мерная матрица, у которой зафиксировано значения двух индексов и т.д.
Графическое изображение операции сечения представлено на рис. 3. изображен
результат операции сечения:
С = с
, если фиксируется третья координата в
трёхмерной матрице. В результате получаем двумерную матрицу.
СМ Се
С311 0312 / С313
0211 ,'Г 0212 УТ/ 0213^1
С111
./2 1 1J 02 1 02 1 3^~'
1 і "с“” 7^ к/0Т1з /.
Н-1—т -И*—к
. . і 1 1 і .
10з31_________4.033^_______10^3
0^31^' 023^' 0^3^^
0131^' 013^' 0133^'
Рис. 3. Операция «Сечение»
2.2.6. Срез.
Срезом многомерной матрицы следующего вида:
С = с
''v,s,id Л ,и
будем называть многомерную матрицу
12
С^ = ^г
где / (/1,/2,..., ¡п) - функция проверки логического условия, не включающего равенство индексов определённому значению.
Графическое изображение операции среза представлено на рис. 4. представлен результат выполнения операции среза.
См
К /
с¥
¥
Рис. 4. Операция «Срез»
2.2.7. Срез первых.
С = С ■
Срезом первых многомерной матрицы Н у ^’и" будем называть многомерную
С =т (IС ■ II ) матрицу следующего вида: Тр 11 '’,*,1с1,‘,и|1’ '
Введём на множестве элементов многомерной матрицы отношение эквивалентности Рузм :
т1 = ^,э1,¡¿1,^,и^, т2 = (у2,э2,¡¿2,t2,и2),
Ст2 = РУШ (Ст1 ) » V = У2 и Э1 = Э2 и ¡Л1 = 2.
Тогда множество [Ст»]р™ {Ст: Ст Руш (Ст»)} - класс эквивалентности по
отношению Аж . Множество классов эквивалентности по отношению на
множестве элементов многомерной матрицы образует разбиение этого множества и
обозначается
"yv,s,id ,t ,u
[Cm° L
Т.к. множество Т является упорядоченным, элементы множества m° Pvsid можно
упорядочить по оси T и найти максимальный или минимальный элемент. Минимальный
[c ] min T \cm J
элемент множества m° Pvsid обозначим ° Pvsid.
Тогда °TF =Tp (|cv,s,id ,t ,u| |> t°) = |minT [Cm ]pj где ||Cm|| = ^t°||CWd,t,u| \
Графическое изображение операции среза первых представлено на рис. 5. Сначала отбираются все точки многомерной матрицы, имеющие индекс по оси времени больше заданного значения t0. Выбранные точки обозначены на рис. 5. Затем выбранные точки
разбиваются на классы эквивалентности по отношению , и в каждом классе
эквивалентности ищется наименьшая точка по отношению порядка, заданного на оси времени.
Рис. 5. Операция «Срез первых»
2.2.8. Срез последних.
Срезом последних многомерной матрицы I л,и11 будем называть многомерную
с = т (IС . По
матрицу следующего вида: Т1 v,'Vfi',t,иН’ 0
По аналогии со срезом первых определим операцию срез последних:
Ст, = ть (| | СУ'М ,t ,и 11, ^о) = тахг [Ст ~\рт^ = ||Су,'лл| I, где ||Ст II = ^<^|\Су,'Лал,и I [
^|иу,',г^,t,и||> 10) ~ 111 аЛПит 1руцИ
Графическое изображение операции среза последних представлено на рис. 6. Сначала отбираются все точки многомерной матрицы, имеющие индекс по оси времени меньше заданного значения t0. Выбранные точки обозначены на рис. 6. Затем выбранные
точки разбиваются на классы эквивалентности по отношению А5Ы , и в каждом классе эквивалентности ищется наибольшая точка по отношению порядка, заданного на оси времени.
Дальнейшие действия с отношениями происходят с помощью операций реляционной алгебры.
Таким образом, алгебра многомерных матриц определяется следующим образом:
А = (Б, ф: Б ^ Б, и: Б х Б ^ Б, п: Б х Б ^ Б, \: Б х Б ^ Б, в/ : Б ^ Б, /: Б ^ Б, тр : Б х Т ^ Б, ть : Б х Т ^ Б).
Заключение
В данной статье рассмотрена обобщённая структура многомерного пространства для адаптируемой модели данных и введена алгебра многомерных матриц для работы с этим пространством.
Определённые в статье пять осей многомерного пространства (сущности, атрибуты, идентификаторы, время, модификаторы) являются основными для проектирования адаптируемой автоматизированной системы, но не запрещается использовать дополнительные оси для большей детализации хранимых данных.
Операции алгебры многомерных матриц можно рассматривать как расширение над операциями реляционной алгебры и существующим языком БОЬ. Эти операции используются для динамического формирования отношений реляционной модели, хранимых в многомерном пространстве, в зависимости от условий, накладываемых на координаты точек. Затем для получения окончательного результата запроса над полученными отношениями нужно применить операции реляционной алгебры.
Операции алгебры многомерных матриц предназначены для обработки индексов элементов матрицы. Эти операции не анализируют значения элементов матрицы, а формируют отношения реляционной модели в зависимости от условий, накладываемых на индексы. Алгебра определена на множестве многомерных матриц, получаемых из многомерного пространства, описывающего адаптируемую модель данных. Это гарантирует, что при применении введённых операций над многомерными матрицами мы не выйдем за пределы многомерного пространства адаптируемой модели данных.
Таким образом, алгебра многомерных матриц является математическим аппаратом, позволяющим выполнять операции с адаптируемой моделью данных на основе многомерного пространства.
Список литературы
1. Модель представления знаний при создании адаптивной информационной
системы [Электронный ресурс] / Елисеев Д.В. - Электрон. журн. - М.: «Наука и образование: электронное научно-техническое издание», 2010 -Режим доступа: http://technomag.edu.ru/doc/139659.html, свободный, (Дата
обращения: 02.07.2011)
2. Адаптируемая модель данных на основе многомерного пространства
[Электронный ресурс] / Балдин А.В., Елисеев Д.В. - Электрон. журн. - М.: «Наука и образование: электронное научно-техническое издание», 2010 -Режим доступа: http://technomag.edu.ru/doc/161410.html, свободный, (Дата
обращения: 02.07.2011)
3. Гарсиа-Молина, Гектор, Ульман, Джеффри, Д., Уидом, Дженнифер Г Системы баз данных. Полный курс. : Пер. с англ. — М.: Издательский дом "Вильямс", 2003. — 1088 с.
4. Четвериков В.Н., Ревунков Г.И., Самохвалов Э.Н. Базы и банки данных: Учебник для вузов/Ред. Четвериков В.Н.-М.:Высш.шк.,1987.-245 с.
5. Варламов О.О. Эволюционные базы данных и знаний для адаптивного синтеза интеллектуальных систем. Миварное информационное пространство. - М: Радио и связь, 2002.-286 с.
6. Реализация матричной модели данных в иерархических структурах [Электронный ресурс] / Сергеев В. П. - Электрон. журн. - Математическая морфология., 2007 - Режим доступа:
http://www.smolensk.ru/user/sgma/MMORPH/N-14-html/sergeev/sergeev.htm, свободный, (Дата обращения: 02.07.2011)