Скачать презентацию Многомерные структуры данных Рекомендуемая литература Гулаков В К Скачать презентацию Многомерные структуры данных Рекомендуемая литература Гулаков В К

Многомерные структуры данных.ppt

  • Количество слайдов: 46

Многомерные структуры данных Рекомендуемая литература: Гулаков В. К. Трубаков А. О. Многомерные структуры данных: Многомерные структуры данных Рекомендуемая литература: Гулаков В. К. Трубаков А. О. Многомерные структуры данных: монография – Брянск: БГТУ, 2010. – 390 с. Foundations of Multidimensional and Metric Data Structures. Samet, Hanan / Imprint: MORGAN KAUFFMAN, 2006. - 1024 p 1

Понятие многомерного объекта • Многомерный объект может представлять собой: – некоторую точку в пространстве Понятие многомерного объекта • Многомерный объект может представлять собой: – некоторую точку в пространстве – или сложный, состоящий из тысяч полигонов или множества атрибутов объект. • Но, так или иначе, его сложно представить в виде одной числовой величины. 2

многомерный объект • математически его можно описать следующим образом: имеется множество записей, каждая из многомерный объект • математически его можно описать следующим образом: имеется множество записей, каждая из которых характеризуется n ключами K 0, K 1, … Kn-1. Рассмотрим множество значений любого ключа как некоторое измерение. В этом случае получаем данные в n измерениях, или многомерные данные. • Для примера рассмотрим систему поиска изображений по гистограммному признаку (сходства цветов). Каждое имеющееся изображение можно по цветовому исполнению преобразовать в некоторую запись: {R, G, B}, – где R –число точек в изображении с преобладанием красной компоненты, – G – зеленой, – B – синей. • Т. е. приняв K 0=R, K 1=G, K 2=B мы получаем запись для каждого изображения, состоящую из трех ключей, а само изображение – точку в многомерном пространстве. 3

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

Области использования многомерных структур • • Геоинформационные системы (ГИС). Компьютерная графика. Медицина Другие применения Области использования многомерных структур • • Геоинформационные системы (ГИС). Компьютерная графика. Медицина Другие применения 5

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

Компьютерная графика. • Вычислительная геометрия • 3 D изображения • эффективное отсечение невидимых многомерных Компьютерная графика. • Вычислительная геометрия • 3 D изображения • эффективное отсечение невидимых многомерных объектов 7

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

Другие применения • Системы проектирования (CAD/CAM). многомерная индексация объектов • Биология. базы данных ДНК Другие применения • Системы проектирования (CAD/CAM). многомерная индексация объектов • Биология. базы данных ДНК • Экономические расчеты Сфера кредитования • Распознавание речи Использование процедур определения расстояния при выборе подходящей меры сходства • Интеллектуальная обработка изображений контекстный поиск нужной информации по изображениям 9

Методы доступа к многомерным данным • Точечные Методы Доступа –ТМД, – (или Point Access Методы доступа к многомерным данным • Точечные Методы Доступа –ТМД, – (или Point Access Methods – PAM) • Пространственные Методы Доступа - ПМД, – (или Spatial Access Methods – SAM). • Пространственно-Временных Методов Доступа - ПВМД, – (или Spatio-Temporal Access Methods – STAM). • Метрические Методы Доступа - ММД, – (или Metric Access Methods – MAM). 10

Точечные Методы Доступа • Многомерная точка представляет собой набор чисел, каждое из которых является Точечные Методы Доступа • Многомерная точка представляет собой набор чисел, каждое из которых является конкретным значением координаты по одной из осей пространства. Сами числа называют ключами записи. • Будем саму запись, представляющую точку многомерного пространства, обозначать как P, а ее параметры – K 1, K 2, …, Kn, где n – размерность пространства. При поиске подобных записей указывается ряд ограничений, которым должны удовлетворять все ключи Ki. Подобный поиск принято называть ассоциативным. 11

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

Пространственные Методы Доступа • Существует много приложений, в которых необходимо размещать информацию об объектах, Пространственные Методы Доступа • Существует много приложений, в которых необходимо размещать информацию об объектах, геометрическими размерами которых пренебрегать нельзя. • При переходе от точечных объектов к пространственным появляется ряд проблем • проблема неправильных геометрических форм объекта, или проблема перекрытия минимальных описывающих прямоугольников (MBR) разных объектов. 13

Пространственные Методы Доступа • Все методы, рассматривающие объект как некоторую многомерную структуру, имеющую определенные Пространственные Методы Доступа • Все методы, рассматривающие объект как некоторую многомерную структуру, имеющую определенные геометрические размеры, можно объединить в один класс алгоритмов, получивший название Пространственных Методов Доступа (Spatial Access Methods – SAM). 14

Пространственно-Временные Методы Доступа • Предназначены для работы с объектами, изменяющими свое состояние или местоположение Пространственно-Временные Методы Доступа • Предназначены для работы с объектами, изменяющими свое состояние или местоположение с течением времени. • Данный класс алгоритмов и структур получил название Пространственно. Временных Методов Доступа (ПВМД, или Spatio-Temporal Access Methods – STAM). • Иногда в литературе так же можно встретить название темпоральные базы данных 15

Метрические Методы Доступа • структуры, рассматривающие объект не в обычном пространстве, а в некотором Метрические Методы Доступа • структуры, рассматривающие объект не в обычном пространстве, а в некотором обобщенном метрическом. • Такие структуры называют Метрическими Методами Доступа (ММД, или Metric Access Methods – MAM). 16

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

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

Динамичность • Для эффективного решения практических задач метод доступа должен поддерживать такие операции, как Динамичность • Для эффективного решения практических задач метод доступа должен поддерживать такие операции, как вставка/удаление элементов, т. е. возможность динамического изменения структуры в целом. 19

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

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

Независимость структуры индекса от последовательности построения • Данное требование выполняется далеко не всегда. Его Независимость структуры индекса от последовательности построения • Данное требование выполняется далеко не всегда. Его суть заключается в том, что структура многомерного индекса не должна зависеть от последовательности добавления/удаления объектов в него. Она должна быть оптимальной и опираться только на значение ключевых полей самих объектов. • Однако в практических применениях зачастую оказывается, что при хаотическом добавлении элементов может получиться не совсем оптимальная или сбалансированная структура. Поэтому данное требование в ряде алгоритмов остается не достижимым идеалом, к которому нужно стремиться. 22

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

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

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

Запросы к многомерным данным • Поиск по точному совпадению (Exact Match Query) • Поиск Запросы к многомерным данным • Поиск по точному совпадению (Exact Match Query) • Поиск объекта, содержащего точку (Point Query). • Поиск по области (Range Query). • Поиск покрывающих объектов (Overlap Query). • Поиск вмещающего объекта (Enclosure Query). • Поиск вхождений (Containment Query) • Поиск соседей (Adjacency Query). • Поиск ближайшего соседа (Nearest Neighbor Query). • Запрос всех пар элементов, удовлетворяющих условию (Spatial Join). 26

Поиск по точному совпадению (Exact Match Query) • Самый простой тип запроса. Он используется Поиск по точному совпадению (Exact Match Query) • Самый простой тип запроса. Он используется как для точечных объектов, так и для объектов, имеющих некоторый пространственный размер. • Суть запроса заключается в следующем: имеется некоторый точечный объект P' или пространственный O'; необходимо проверить, присутствует ли данный объект в системе. 27

Поиск объекта, содержащего точку (Point Query). • Данный запрос используется только для объектов, имеющих Поиск объекта, содержащего точку (Point Query). • Данный запрос используется только для объектов, имеющих определенный размер. Причем в практическом применении он используется гораздо чаще предыдущего типа запросов. Имеется некоторая многомерная точка P. Найти многомерный объект, содержащий данную точку 28

Поиск по области (Range Query) • Дана многомерная область поиска R. Необходимо найти все Поиск по области (Range Query) • Дана многомерная область поиска R. Необходимо найти все объекты, имеющие хотя бы одну точку в этой области. • Многомерная область обычно задается как набор верхних и нижних границ для каждого измерения • R = [l 1, u 1] × [l 2, u 2] × … × [ln, un], • т. е. для каждого измерения указываются пределы, в которых может изменяться данная координата. • Данный запрос может производиться как для точечных объектов, так и для объектов, имеющих объем 29

Поиск покрывающих объектов (Overlap Query) • Дан некоторый многомерный объект O′. Найти все объекты, Поиск покрывающих объектов (Overlap Query) • Дан некоторый многомерный объект O′. Найти все объекты, имеющие хоть какое-то пересечение с данным Данный запрос очень похож на предыдущий, однако если в прошлом запросе в качестве области поиска использовался многомерный прямоугольник, то в этом запросе может применяться многомерный объект произвольной формы. 30

Поиск вмещающего объекта (Enclosure Query) • Дан некоторый многомерный объект O′. Найти такой объект Поиск вмещающего объекта (Enclosure Query) • Дан некоторый многомерный объект O′. Найти такой объект O (если он существует), который полностью содержит в себе объект O′ В отличие от предыдущего запроса, в этом поиске необходимо найти не те объекты, которые имеют хоть какое-то пересечение с заданным, а те, которые его полностью вмещают 31

Поиск вхождений (Containment Query) • Задан некоторый многомерный объект O′. Найти все объекты O, Поиск вхождений (Containment Query) • Задан некоторый многомерный объект O′. Найти все объекты O, которые полностью входят в O′ 32

Поиск соседей (Adjacency Query) • В этом запросе участвует реальный объект системы O′. Необходимо Поиск соседей (Adjacency Query) • В этом запросе участвует реальный объект системы O′. Необходимо найти такие объекты O, которые имеют общие с ним границы, но не пересекают его 33

Поиск ближайшего соседа (Nearest Neighbor Query). • Этот запрос можно считать чуть ли не Поиск ближайшего соседа (Nearest Neighbor Query). • Этот запрос можно считать чуть ли не одним из самых популярных. Были разработаны даже отдельные структуры данных, специально адаптированные для запросов ближайшего соседа. • Суть запроса проста: дан некоторый объект P. Необходимо найти такой объект в базе данных, который был бы расположен как можно ближе к данному. • Существует несколько вариантов вычисления функции расстояния (Dist) в многомерном пространстве. 34

Запрос всех пар элементов, удовлетворяющих условию (Spatial Join) • Даны два множества объектов S Запрос всех пар элементов, удовлетворяющих условию (Spatial Join) • Даны два множества объектов S и S′ Найти все пары элементов, удовлетворяющих некоторому условию Q. • Результат данного запроса зависит от того, что за условие устанавливает предикат Q. • В частности с помощью данного запроса можно найти все пары элементов, находящиеся в удалении друг от друга не более чем на заданную величину, или все пары объектов имеющих общие границы. 35

Расстояние между многомерными объектами • Расстоянием между объектами в пространстве признаков называется такая величина Расстояние между многомерными объектами • Расстоянием между объектами в пространстве признаков называется такая величина Dist(P, P′), которая удовлетворяет следующим аксиомам: – Dist(P, P′) > 0 – неотрицательное расстояние; – Dist(P, P′) = Dist(P′, P) – симметрия; – Dist(P, P″) + Dist(P″, P′) > Dist(P, P′) – неравенство треугольника; – Если Dist(P, P′) ≠ 0, то P ≠ P′ – различимость нетождественных объектов. • описано более 50 различных способов вычисления расстояния между объектами 36

 «евклидово расстояние» или «евклидово расстояние» или "евклидова метрика" • где Dist(P, P′) – расстояние между объектами P и P′; • Ki – численное значение i-й переменной для объекта P; • K′i – численное значение i-й переменной для объекта P′; • n – количество переменных, которыми описываются объекты (или количество измерений). 37

евклидово расстояние для плоскости • В случае двумерного пространства и использования в качестве осей евклидово расстояние для плоскости • В случае двумерного пространства и использования в качестве осей обозначения Ox и Oy, данная формула примет всем привычный вид: 38

расстояние Минковского • Весьма напоминает выражение для евклидового расстояния так называемое обобщенное степенное расстояние расстояние Минковского • Весьма напоминает выражение для евклидового расстояния так называемое обобщенное степенное расстояние Минковского, в котором в степенях вместо двойки используется другая величина. В общем случае эта величина обозначается символом "р". 39

манхэттенское расстояние • Частным случаем расстояния Минковского является так называемое манхэттенское расстояние, или манхэттенское расстояние • Частным случаем расстояния Минковского является так называемое манхэттенское расстояние, или "расстояние городских кварталов" (city-block), соответствующее р=1. Для двухмерного случая пример вычисления данного расстояния показан на рис. Dist(P 1, P 2) = a + b 40

Минимальный описывающий регион (MBR) • часто многомерные объекты имеют неправильные формы. Эффективных процедур для Минимальный описывающий регион (MBR) • часто многомерные объекты имеют неправильные формы. Эффективных процедур для хранения и быстрого поиска таких форм в настоящее время не существует. • в целях увеличения производительности было решено такие объекты описывать некоторыми геометрическими фигурами правильной формы, для которых разработаны эффективные алгоритмы обработки. Прямоугольник, в который вписывался объект, был назван Минимальным Описывающим Прямоугольником (Minimum Bounding Rectangle – MBR). 41

Представление MBR • разработано несколько способов (применительно к двухмерному случаю) хранения информации о MBR Представление MBR • разработано несколько способов (применительно к двухмерному случаю) хранения информации о MBR в вершине дерева – сохраняются координаты двух угловых точек прямоугольника, расположенных на главной диагонали (чаще всего верхней левой и нижней правой); – в вершине дерева хранятся координаты верхней левой точки и информация о размере прямоугольника по всем измерениям (длина и ширина); – в вершине дерева размещается координата геометрического центра прямоугольника (точка пересечения диагоналей) и информация о размерах прямоугольника по всем измерениям, поделенная пополам 42

MBR для группы объектов • Иногда в один описывающий прямоугольник помещают не один объект, MBR для группы объектов • Иногда в один описывающий прямоугольник помещают не один объект, а целую группу близко расположенных к другу объектов Технология вычисления MBR для группы объектов принципиально ничем не отличается. 43

MBR для групп объектов • Однако для групп объектов разработан еще один способ образования MBR для групп объектов • Однако для групп объектов разработан еще один способ образования MBR. Минимальную описывающую область формируют путем указания центра этой области и расстояния, на котором должны находиться объекты. Все объекты, попавшие в эту область, объединяются в один элемент (узел или поддерево). • Для таких MBR специально разработаны алгоритмы, значительно увеличивающие скорость поиска ближайших соседей в многомерном пространстве. Среди структур, оперирующих такими MBR, особо выделяются SS- и SR-деревья. 44

Метрика MBR для групп объектов • Для обработки таких MBR необходимо вводить понятие расстояния Метрика MBR для групп объектов • Для обработки таких MBR необходимо вводить понятие расстояния между объектами: – Манхэттенское расстояние (city-block). При использовании этой функции расстояния MBR примет форму ромба – Евклидово расстояние. При этом в качестве ограничивающей фигуры мы получаем окружность – Sup-метрика. При использовании этой функции расстояния ограничивающая фигура принимает форму квадрата 45

46 46