Метод построения системы памяти для хранения и поиска многомерных пространственно-временных последовательностей

ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ

ТЕХНИКА

УДК 519.7

А. Е. Устюжанин

МЕТОД ПОСТРОЕНИЯ СИСТЕМЫ ПАМЯТИ ДЛЯ ХРАНЕНИЯ И ПОИСКА МНОГОМЕРНЫХ ПРОСТРАНСТВЕННО-ВРЕМЕННЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ

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

Во многих задачах, связанных с хранением и анализом данных, основным способом представления информации является кодирование данных в виде пространственно-временных последовательностей. Развитие таких технологий, как Global Positioning System (GPS), мобильных систем и датчиков пространственных координат объектов дает доступ к огромным объемам данных и, как следствие, возрастает потребность в эффективных алгоритмах их анализа и хранения. Например, рассмотрим задачу, когда мобильный объект наблюдения оснащен сенсором, регистрирующим положение объекта в пространстве с определенной временной частотой. Данные о траектории движения объекта сохраняются для дальнейшей обработки в базе пространственно-временных данных. Запросы к такой базе данных могут состоять в поиске траекторий, похожих друг на друга, в поиске возможных продолжений по известному началу, поиску предысторий по известному отрезку траекторий и т.д. На сегодняшний день универсальных способов работы с такими данными нет, и каждый подход имеет свои достоинства и недостатки.

В настоящей работе рассмотрена проблема построения хранилища пространственно-временных последовательностей (траекторий), которое позволяет находить траектории, содержащие подпоследовательности, похожие на поисковый запрос. Именно возможность ответа

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

Иллюстративный пример. Работа с пространственно-временными последовательностями востребована во многих областях современных технологий, как-то: анализ финансовых показателей, мультимедийная информация, сложное человеко-компьютерное взаимодействие (использование трехмерных манипуляторов, таких как перчатки или шлемы виртуальной реальности). В каждой из этих областей можно выделить набор параметров, характеризующих интересующий нас процесс в произвольный момент времени. Для простоты описания положим, что число параметров в таком наборе параметров не зависит от времени и численные значения принадлежат интервалу [0,1]. В качестве иллюстративного примера и примера для демонстрации эффективности подхода воспользуемся данными из набора слов австралийского языка глухонемых [1]. Использование этих данных для сравнения алгоритмов индексации и поиска встречается в работах [2-4]. Эта база данных создавалась сканированием пространственных параметров траектории движения руки носителя языка. Длительность последовательностей варьируется от 30 до 100 элементов. Каждая точка последовательности характеризуется девятью параметрами:

• координаты руки человека (х, у, г);

• угол поворота ладони;

• угол сгиба каждого пальца руки.

Частота сбора данных составляла примерно 23 Гц. Пример зависимости изменения координат (X, Z) от времени для слов "Да", записанных двумя носителями, и словом "Нет", записанным одним носителем, приведен на рис. 1. Траектории, отмеченные звездочками и плюсами, — слово "Нет", кружками — слово "Да". На данном примере мы можем убедиться в том, что разные слова выглядят по-разному и одинаковые слова схожи друг с другом, но могут отличаться всплесками, длиной траекторий и сдвигами одинаковых участков траектории по времени. Аналогично данным работ [2-5], за основу для экспериментов выбрана база последовательностей, содержащая несколько различных классов объектов (слов), где каждому классу принадлежат от 5 до 10 элементов.

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

Рис. 1. Пространственно-временные последовательности координат (X, У) манипулятора, соответствующие словам "Да" (5) и "Нет" (1, 2) на языке глухонемых

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

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

При сравнении последовательностей п-мерных векторов $1 и $2 одинаковой длины к евклидова мера близости этих последовательностей определяется следующим образом:

£($1 = ¿($1Н,$2Й);

где d — расстояние между п-мерными точками $ [г] и $2 [г]:

ОДИ,ЗД) = ( Е 1$1 [г,] - $2[м]|2)1/2.

В случае, если длины Si и S2 не равны, выбираем между урезанием длинной последовательности (вычисление минимума евклидовых мер среди возможных подпоследовательностей длинной последовательности с короткой последовательностью) и добавлением нулей к короткой последовательности. Зачастую ни один из этих вариантов не является приемлемым. Наша метрика должна быть приспособлена для сравнения последовательностей вне зависимости от их длины, опираясь лишь на похожести их элементов.

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

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

Такие метрики, как Dynamic Time Warping (DTW) [6], Longest Common Subsequence (LCSS) [2], подразумевают, что при сравнении двух последовательностей каждая из них является полноценным экземпляром, который можно рассматривать как нечто целое. В нашем случае необходимо добиться возможности работы с фрагментарными последовательностями - сравнивать части с целым и получать адекватные оценки похожести рассматриваемых траекторий. Такое свойство метрики позволит извлекать сохраненные элементы, пользуясь лишь частично определенными запросами.

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

Рассмотрим алгоритм вычисления меры близости двух последовательностей: последовательности-запроса Q и некоторой известной последовательности S. Для этого введем ряд определений.

Определение 1. Минимальным ограничивающим параллелепипедом, или минимальным ограничивающим регионом (МОП или MBR — minimum bounding rectangle) для последовательности все элементы которой принадлежат (Si G ^n), будем называть n-мерный параллелепипед минимального объема со сторонами, параллельными осям координат, который целиком содержит точки этой последовательности.

Отметим, что MBR({Si}) определяется двумя точками в : Pmin

и Pmax:

Pmin(x1)---)xn): xi = min(Sji):

]

Pmax(x1,...,xn): xi = maX(Sij).

j

Определение 2. Расширением параллелепипеда R на величину 5 получен параллелепипед R', такой, что центр R' совпадает с центром параллелепипеда R, а координаты вершин R' отличаются от координат соответствующих вершин R на величину 5 вдоль каждой из осей в направлении от центра R.

Другими словами, операция расширения параллелепипеда MBR({Qi}), определяемого точками Pmin(Xl1,---,Xln) и Pmax(X21,..-. ..,x2n), на величину 5 образует параллелепипед, определяемый точками Pmin(x11 - 5, ...,X1n - 5) и Pmax(x21 + 5, ..., X2n + 5).

Операция расширения региона позволяет работать с зашумленны-ми сигналами.

Определение 3. Разбиением последовательности {Si} длиной N на K подпоследовательностей (K < N) будем называть такой набор из K — 1 целых чисел {Mi}: 1 < Mi < N, и Mi = Mj, если i = j, который определяет K частей исходной последовательности: {Хь..., Xm0-1}, {Xm0 ,..., Xm1-1},..., {Xmk-1, XN}. Среднюю длину таких подпоследовательностей Л будем называть диаметром разбиения.

Пусть даны последовательность {Si} и запрос {Qi}, для которых необходимо вычислить меру близости. Для этого разобьем {Si} на подпоследовательности, и для каждой из подпоследовательностей построим минимальный ограничивающий параллелепипед Ri. Каждый параллелепипед расширим на величину 5. Таким образом, последовательности {Si} ставим в соответствие последовательность {Ri}. Заметим, что между любыми двумя Ri, Rj f {Ri} установлены соотношения непосредственного следования — для них можно определить, является ли Ri непосредственным предшественником Rj или нет. Тогда процедура вычисления меры похожести последовательностей {Qi} и {Si} выглядит следующим образом.

1. По последовательности {Sj} строим {R};

2. Для каждого элемента Qi е {Qi} проверяем:

а) принадлежит ли Qi какому-либо Ri е {Ri}, если принадлежит, то запоминаем индексы этих регионов (индексы текущего шага); eora принадлежность найдена, то увеличиваем значение меры близости на величину WeightHit;

б) сравниваем индексы текущего шага с индексами прошлого шага. Если оказывается, что индексы текущего следуют за индексами прошлого, то меру близости увеличиваем на величину WeightFollow.

В наших численных сравнениях значения величин WeightHit и WeightFollow выбираются равными 2 и 1 соответственно.

Описанный способ сравнения пространственно-временных последовательностей удовлетворяет выдвинутым требованиям. Действительно, ни разница частот дискретизации, ни разница в длинах последовательностей не влияют на сравнение запроса с последовательностью МОП, поскольку критическим для получения высокой оценки является похожесть очертаний форм, а не длина или число точек в исходной последовательности. Всплески, в отличие от евклидовой метрики и метрики DTW, не вносят значительных изменений в полученные веса, поскольку точки, выпавшие за пределы последовательностей МОП, просто не учитываются. В случае, когда запрос является незначительным фрагментом последовательности, предложенная процедура оказывается применимой, поскольку для вычисления веса не имеет значения время начала и время окончания последовательности — важно лишь совпадение пространственных координат и повторение последовательности попадания точек в коридор, определяемой n-параллелепипедами. Если использовать предложенный ранее алгоритм, то эффективность данной функции можно оценить

как 0^—^—, где m1 — длина {Si}, m2 — длина {Qi}, а Л —

диаметр разбиения {Si}. Такая оценка справедлива при условии, что операции проверки принадлежности региону и проверки следования индексов регионов выполняются за время 0(1). Далее покажем, что такую оценку эффективности можно улучшить.

Численное сравнение выразительности критериев близости последовательностей. Оценим численно, насколько предложенная функция близости выразительна для различных последовательностей. Такую оценку мы проведем согласно методике, предложенной Кео и Касетти в работе [7], которая сводится к следующему. Пусть имеется множество D последовательностей {Si}, для каждой из которых явно задана принадлежность некоторому классу Cj. Каждому классу принадлежит более одной последовательности. Тогда из множества D

отбирается набор тестовых последовательностей — подмножество Т, а остальные используются как набор классифицирующих последовательностей — подмножество Ь. Затем для каждой {£¿1 из Т вычисляется мера похожести этой последовательности на последовательности подмножества Ь и выбирается та, значение меры которой оказалось наибольшим. Если классы тестовой последовательности и найденной последовательности совпали, то этот опыт считается удачным, если классы оказались различны, то счетчик ошибок Д=гг увеличивается на единицу. Затем вычисляется доля ошибочных распознаваний согласно следующей формуле:

р =

M :

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

При проведении сравнительных оценок были рассмотрены три набора последовательностей:

1) пять различных слов (классов), записанных несколькими (5... 7) дикторами;

2) десять различных слов (классов), записанных другими (5... 7) дикторами;

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

Расчеты доли ошибочных распознаваний р(3) для указанных наборов данных содержатся в табл. 1.

Таблица 1

Значения доли ошибочных распознаваний р для различных методов расчета меры близости и для различных тестовых последовательностей

Методы расчета Тестовые последовательности

ASL (5 классов) ASL (10 классов) Данные ASL + шум

Евклидова мера 0,01 0,05 0,38

LCSS (1 = 20, е = 0,1) 0,01 0,08 0,32

MBRMeasure Л = 5, 5 = 0,05) 0,04 0,10 0,25

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

MBRMeasure. Необходимо отметить, что согласно данным работы [7] величина доли ошибочных распознаваний, не превышающая 0,10, считается приемлемой характеристикой меры.

Значительным преимуществом предложенного способа оценки похожести последовательностей является возможность оценки по неполным запросам, т.е. когда на вход функции оценки подается лишь часть сохраненной последовательности. В табл. 2 приведены интервалы изменений значений р при распознавании запросов, длина которых составляет 50 % и 25 % общей длины сохраненной последовательности.

Таблица 2

Интервалы значений доли ошибочных распознаваний р для различных методов расчета меры близости, различных тестовых последовательностей и для различных длин запросов

Методы расчета Тестовые последовательности

ASL, 5 классов, 50% ASL, 5 классов, 25 % ASL, 10 классов, 50 % ASL, 10 классов, 25 % Данные ASL + шум, 50% Данные ASL + шум, 25 %

Евклидова мера 0,04-0,24 0,04-0,60 0,03-0,1 0,050,52 0,22-0,40 0,540,68

LCSS (d = 20, e = 0,1) 0,04-0,72 0,12-0,68 0,180,75 0,080,72 0,26-0,86 0,440,92

MBRMeasure (Л = 5, 5 = 0,05) 0,04-0,36 0,0-0,28 0,080,25 0,130,33 0,24-0,44 0,200,64

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

Экспериментальные данные, приведенные в табл. 1 и 2, показывают обоснованность выбора критерия близости пространственно-временных последовательностей на основе представления одной из них последовательностью n-мерных параллелепипедов.

Построение подсистемы памяти на основе хаотического процессора. Рассмотрим построение памяти для числовых последовательностей на основе хаотических процессоров, как это описано А.С. Дмитриевым [7]. В работе [7] предлагается построить такое

отображение ^, которое для элементов последовательности {Х»} реализует следующее соотношение:

Хп+1 = ^

т.е. каждому элементу последовательности в этом отображении соответствует последующий элемент последовательности. Здесь "а" — вектор управляющих параметров, который может быть использован для управления отображением. Таким образом, воспроизведение последовательности становится возможным путем рекурсивного применения отображения ^ к одному из известных элементов Хк, т.е. зная элемент Хк и отображение ^, можно воспроизвести элементы последовательности Хк+1,Хк+2,...,Хп, для этого искусственно добавляется переход Хп ^ Х0, т.е. последовательность закольцовывается, что дает возможность многократного итеративного применения ^ к любому элементу последовательности и воспроизведения последовательности целиком.

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

Схема такого преобразования приведена в работах [7-10]. Благодаря предварительной обработке и способу построения, преобразование ^ позволяет работать с неточными исходными данными: если известный элемент последовательности отличается от сохраненного элемента на некоторую величину Хг' = Х» + ^Х (где ^Х — допустимый шум сигнала), то при незначительных величинах этого шума (^Х < ^Хтах, где ¿Хтах — максимальная величина шума, заданная изначально при построении отображение восстановит исходный сигнал Х». Другими словами, в отображении ^ реализуется аттрактор соответствующей сохраненной последовательности и бассейн притяжения этого аттрактора, точки которого сходятся к аттрактору в результате итеративного применения преобразования ^. Для запоминания нескольких последовательностей в отображении ^ реализуется несколько аттракторов. Из-за использования процедур фильтрации повторяющихся элементов и замыкания последнего элемента на первый, алгоритм построения нескольких аттракторов принципиально не отличается от алгоритма построения одного аттрактора.

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

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

Реализация хаотического процессора. Пусть имеется последовательность {Х^} и ее идентификатор I, которые необходимо запомнить. Рассмотрим {X} как аттрактор некоторого отображения В и построим бассейн этого аттрактора. Для этого выполним процедуру разбиения последовательности {X} на подпоследовательности и ограничим каждую из них соответствующим п-мерным параллелепипедом — МОП. Тогда полученная последовательность параллелепипедов и будет являться бассейном нашего аттрактора.

Каждому МОП поставим в соответствие следующие числа:

• идентификатор всей последовательности {X};

• идентификатор элемента X в исходной последовательности, который является первым элементом в {$»};

• точку следующей подпоследовательности, наиболее удаленную от границ соответствующего МОП;

• признак конца последовательности.

Получившийся набор параллелепипедов и связанных с ними данных сохраняется в структуре многомерного индекса — в Д-дереве с приоритетами [12]. Такой способ организации позволяет сохранять п-мерные параллелепипеды (регионы) и эффективно определять принадлежность произвольной точки одному или нескольким сохраненным регионам.

Таким образом, элементы последовательности {Х^} разбиты на ограничивающие параллелепипеды и сохранена их упорядоченная совокупность в многомерном дереве, которое в силу своего построения позволяет эффективно отвечать на поисковые запросы о принадлежности произвольной точки пространства одному или нескольким параллелепипедам. По оценкам, приведенным в работе [12], время на обработку поискового запроса составляет 0((Х/£)1-1/п + Т/В), где N — число параллелепипедов размерности п, сохраненных в дереве, В — размер дискового блока, Т — число полученных ответов на запрос. В работе [12] приведены теоретические и эмпирические оценки сложности выполнения операций добавления и удаления элементов дерева, которые превосходят на сегодняшний день показатели аналогичных многомерных индексных структур.

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

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

Сложность операции вычисления меры близости при использовании данного подхода составит O(m(N/B)1-1/n), где m — длина запроса Q, N — число параллелепипедов размерности n, сохраненных в дереве, B — размер дискового блока.

Рассмотрим процедуру поиска сохраненной последовательности по поисковому запросу {Qi}. Для этого запроса ассоциативная память должна дать один из возможных ответов:

• идентификатор последовательности, которая содержит подпоследовательность, похожую на {Qi}, в смысле критерия, описанного ранее;

• "необходимы дополнительные данные", в случае, если нельзя однозначно сопоставить {Qi} с сохраненными последовательностями, т.е. {Si} — подпоследовательность более чем одной последовательности, и для того чтобы однозначно ответить на поисковый запрос, необходимо дополнить поисковый запрос, т.е. расширить его дополнительными точками;

• null в случае, если невозможно дать ни один из перечисленных ответов, то {Qi} не соответствует ни одной из сохраненных последовательностей.

Процедура поиска наиболее похожей последовательности по запросу Q состоит из двух логических частей: оценка похожести сохраненных последовательностей на запрос Q и выбор одного из перечисленных ответов по результатам оценки.

Оценки для первого шага получаются итеративным образом, аналогичным вычислению меры похожести запроса Q последовательности Si: последовательно рассматриваются точки запроса, но учитываются все регионы, в которые попала точка запроса. Таким образом, значения мер близости Q и Si для всех сохраненных последовательностей вычисляются за один проход по точкам запроса. Все пары {Si,vi} ранжируются по убыванию vi, и в зависимости от того, сколько элементов содержат максимальное значение vmax = supp(vi), делается второй шаг.

Если максимальное значение представлено лишь в одной паре {S^v}, то результатом поиска и будет последовательность S; если таких значений несколько, то результатом поиска будет ответ "необходимы дополнительные данные". Если таблица содержит только нулевые значения, это означает заметную непохожесть запроса Q на сохраненные последовательности и приведет к ответу "null" поисковой процедуры.

Таким образом, описанная система построения хаотического процессора на основе R-деревьев и с использованием описанной метрики позволяет сохранять последовательности и искать похожие последовательности по заданным подпоследовательностям. Теоретические оценки производительности работы предлагаемого хаотического процессора во многом совпадают с характеристиками работы используемой структуры многомерного индексирования. На рис. 2 показан пример проекции на плоскость XY покрытия последовательности двумерных точек набором прямоугольников.

Приведем эмпирические оценки производительности и ресурсоем-кости такой поисковой системы.

Оценка ресурсоемкости и производительности хаотического процессора. Для оценки общей эффективности работы хаотического процессора сравним показатели объема занимаемой памяти и времени выполнения операций сохранения и поиска. В качестве примера используемых данных возьмем последовательности австралийского языка глухонемых. Первый набор испытаний показывает зависимость

2 Мбайты

Число последовательностей

Рис. 3. Зависимость объема памяти от числа сохраненных последовательностей для различных типов памяти и размерности элементов последовательности. Штриховые линии — объем последовательностей в текстовом представлении (нижняя линия — соответствует размерности 3, верхняя — 4), сплошные линии — объем хаотического процессора; 1,2,3 — размерности 5,4,3 соответственно

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

Как видно из рис. 3, объем памяти, необходимый для хранения данных хаотического процессора, растет пропорционально размерности (D) хранимых точек и пропорционально объему запоминаемых данных, что находится в соответствии с характеристиками объема памяти, необходимой для хранения приоритетного R-дерева [13].

Временные затраты на создание (bulk loading) хаотического процессора при работе с данными, аналогичными предыдущему эксперименту, отображены на рис. 4.

Полученные результаты характером зависимости и порядком временных величин совпадают с характеристиками приоритетного R-дерева

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

Ог  ..............1

100 500 1000

число последовательностей

Рис. 4. Длительности загрузки разного числа последовательностей различных размерностей в хаотический процессор:

1,2,3 — размерности 5,4,3 соответственно

О1—'—'——'—1—'—1——'—1—-——'—1——'—'—'——1 100 500 1000

число последовательностей

Рис. 5. Зависимость времени поиска запросов различных длин от числа сохраненных последовательностей. Штриховые линии соответствуют алгоритму, основанному на евклидовой мере, сплошные — алгоритму, предложенному в настоящей работе

Как видно из полученных результатов, скорость работы хаотического процессора превышает стандартный алгоритм в зависимости от начальных условий в 2-6 раз. Наибольший выигрыш достигается в

случаях, когда длина запроса составляет около 50% от длин сохраненных последовательностей.

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. База данных слов австралийского языка глухонемых. http://kdd.ics.uci.edu/databases/auslan/auslan.html

2. V l a c h o s M., Kollios G., Gunopulos D. Discovering similar multidimensional trajectories. In Proc. of ICDE, 2002.

3. C h e n L., N g R. T. On The Marriage of Lp-norms and Edit Distance, Proc. Intl. Conf. on Very Large Data Bases (VLDB). - P. 792-803, 2004.

4. C h e n L., O z s u M., O r i a V. Robust and fast similarity search for moving object trajectories, Proc. of ACM SIGMOD international conference on Management of data. - P. 491-502, 2005.

5. V l a c h o s M., Hadjieleftheriou M., Gunopulos D., K e o g h E. Indexing Multi-Dimensional Time-Series with Support for Multiple Distance Measures. In Proc. of 9th SIGKDD, Washington, DC. - P. 216-225, 2003.

6. Berndt D, Clifford J. Using Dynamic Time Warping to Find Patterns in Time Series. In Proc. of KDD Workshop, 1994.

7. Eamonn J. Keogh, Shruti KasettyOnthe Need for Time Series Data Mining Benchmarks: A Survey and Empirical Demonstration. In International Conference on Knowledge Discovery and Data Mining. - P. 102-111, Edmonton, Canada, July 2002.

8. Андреев Ю. В., Дмитриев А. С., К у м и н о в Д. А. Хаотические процессоры // Успехи современной радиоэлектроники. - 1997. -№ 10.

9. Ж д а н о в А. А., Устюжанин А. Е. Возможности использования технологии детерминированного хаоса в системах автономного адаптивного управления // Сб. трудов ИСП РАН. - 2001. - C. 141-180.

10. А н д р е е в Ю. В., Бельский Ю. Л., Дмитриев А. С. Запись и восстановление информации с использованием устойчивых циклов двумерных и многомерных отображений // Радиотехника и электроника. - 1994. - T. 39. -С.114-123.

11. Andreyev Yu. V. Dmitriev A. S., Kuminov D. A. Pavlov V. V. Information processing in 1-d and 2-d map: recurrent and cellular neural networks implementation, CNNA'96, Seville, Spain, 1996.

12. G u 11 m a n A., 'R-trees: A Dynamic Index Structure for Spatial Searching', Proc. ACM SIGMOD Int. Conf. on Data Management, Boston, MA, 1984. - P. 47-57.

13. L a r s Arge, Mark de Berg, Herman Haverkort, K e Y i. The Priority R-Tree: A Practically Efficient and Worst-Case Optimal R-Tree. In Proc. of the 2004 ACM SIGMOD International Conference on Management of Data (SIGMOD '04), Paris, France, June 2004. - P. 347-358.

Статья поступила в редакцию 26.09.2006

УДК 004.056.53

А. А. Кузнецов

СПОСОБЫ КАМУФЛИРОВАНИЯ ВИРТУАЛЬНЫХ ДИСКОВ

Рассмотрены методы обнаружения шифрованных виртуальных дисков и способы их камуфлирования.

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

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