1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Luận văn thạc sĩ) cây không gian 2 chiều kd tree và r tree

60 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cây không gian 2 chiều KD-Tree và R-Tree
Tác giả Hoàng Văn Hoà
Người hướng dẫn ThS. Ngô Quốc Việt
Trường học Trường Đại học Sư phạm TP.HCM
Chuyên ngành Toán - Tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2006
Thành phố TP.HCM
Định dạng
Số trang 60
Dung lượng 3,29 MB

Nội dung

Tổng sỏ miễn bị giao bởi dường biện của phạm vị truy vẫn hình chữ nhật cũng được giới hạn bởi 2 vin, dpem Phan tắch thời gian truy vận, chúng tá đã đưa ra ở trên thì khá bắ quan: chúng t

Trang 2

LOI CAM ON

Em xin trần trọng cảm ơn quý Thầy cô trong Khoa Toán - Tin trường Đại học Sư Phạm Thành Phố Hồ Chi Minh da tan tình giảng dạy truyền

đạt những kiện thức vả kinh nghiệm quý bảu cho em

Đồ án của em sé rat khó hồn thành nếu khơng có sự truyền đạt kiến thức

quỷ báu vả sự hưởng dẫn tận tình của thầy Ngõ Quốc Việt Em xin chân

thành cam on dén thay

Xin chin thanh cam ơn sự giúp đỡ, động viên và chỉ báo rất nhiệt tỉnh của cúc anh chy di trước vả tất cả bạn hè trong suốt quá trình học tập

Mặc dù đã có găng nỗ lực hết sức mình nhưng do thời gian thực hiện bảo cáo nảy rất ngắn nên chắc chắn không tránh khỏi những thiểu sót Em rat mong nhan được sự thông cảm vả chỉ bao tan tinh cua quy Thay

có va các bạn

Trang 3

Muc luc

Ls GA NN 222220422 cà, l0 00G ca doc ba a2 605i S640)22xA S00 2

2 Khái niệm chung của hệ thống cơ sở dữ liệu không gian 4

2.4 Những kiệu dữ liệu không gian eo seieeeiree 4

2 2 Moi quan he hinh học topo (083640060 X4001822x01A06L1041//042046264á0A62/A5A6616kE 10)

23.3 Loe truy van bang x tưới hạn hình chữ nhật nho nhát, BS

Se RDB IRE scsi Satish 0662022264 20

31 Cape Wess heen 3025222009026 ti xáỪ gi đớn 20

3.2 KD-Tree Ses ata sa aaa lad me canada snes 3.3 Phat sinh tip hợp diém giá 0ả0 0109 W16Ax002i06600401sa000i6% 33 4á R-Treevd Biến thể 22A0 2n ke 36

ATs: ỘCea Shetas Retreescsoes sera acssctecestaiectsias aceciiinasasbanabauamaianeneiedệ

Be PEPSI v:a0yis40004)5210029/8)aGG2A2 0 MENGQGRSBbto6ieStpi\otiygsudxad 43

43 Toma sd thuật t td0ảán,cơ Bản của RE Ưgác 2222 4?

415i YOU Ni G CC ceotccenoaergiioadtiee 537

Baise Nà Y|MẾY cáyccebeooooeoernoiezrogtieossiiickoccovdCtsCayybzestiesese 7

+12 7 CN OA acs cccccacaveceesysecavenseveeiens m5 Ợ 48

SAE, TNR(NHUHDE aoenseisosoeeeredkeboesoroeeeeoeouaoeremessoe ee ỷ8

+35 2 AUjUSEÍTCE o e.e e.ooc: I9GBS00002215002/0000033901-5000/0404/34E MA GNEEB-S061602090u5Ề 48

4.3.6 I0vleuon ậ(082Y0/95400014042y0414//354801614601y0xfyyy06)803900 9915) 60/989 "9

43.7 limdl caf, ecscsằààS.S SĂSS22S2S<cSSSSE nh nhheckec 49

43.8 Condense tr (cỀầẦầđắđiầắđdáắááầầdẳảăẳăẳăẳăẳảẮẮ #9

44 Andung R[rec vào thuật toán xây đựng lưới TIN x22 222055253 Ỉ1g5pee=ses2eseesezE M)

44.1 Cáu trúc dữ liệu đẻ thê hiện đổi tượng : dữ liệu 50

Trang 4

1 Giới thiệu

Mục đắch của phương pháp truy cập không gian là tỏ chức dữ liệu không gian trong

hưởng mà sẽ cho phép phục hỏi hiệu qủa những đối tượng liên quan theo những thuộc tắnh hình học tôpô của những thuộc tắnh không gian của chúng

Chỉ mục không gian là cấu trúc dữ liều được thiết kế đẻ lưu trữ tô chức dữ liệu hình

học thực tế, như định nghĩa bởi nhiều phương pháp truy cập khác nhau Được biẻt

hiện tại chỉ mục không gian được phân loại thành 2 loại: chỉ mục điểm kich thước nhiều chiều và chắ mục hình chữ nhật

Những điểm trong 1 không gian kắch thước nhiều chiều (hoặc điểm kắch thước nhiều chiều) nhìn chung được tô chức bởi những câu trúc mà phân chia không gian cơ bản thành những miền con rời nhau được gọi là những ô, Những điểm nam bén

trong 6 những 6 xa hơn được ảnh xạ vào trone những thing (bucket) ma co the truy

cập và tìm kiếm nhanh chóng Những cầu trúc chỉ mục quan trọng nhất loại này là

hệ thống các lưởi điện (grid Iile) [Niew84] và kd-tree với các biến thể của nó kdh-

tree {Robi8i | và Isd-tree [Henr89],

Trong trường hợp của những mỏ hình không gian phức tạp hơn, những cấu trúc chi mục phải được tê chức khỏng chỉ duy nhất những điểm, nhưng cũng có thẻ là vác hình nhiều đường vả các da giác Điều này có thể làm giảm bớt điều khiển những hình chữ nhật như việc xắp xi đối tượng không gian thực tế Trong trường hợp nảy không gian không thẻ được phân chia đơn giản thành những ô rời nhau vì có thể luôn luôn có những hình chữ nhật phủ lên vài ô Hiện tại những giải pháp tô chức hình chữ nhật gồm có biến đòi những hình chữ nhật thành những điểm trong khong gian 4 chiêu sử dụng miền chòng lấp như là thùng (bueket) để lưu trừ những hình chữ nhật, và cắt những hình: chữ nhật thành vài mành, mỗi mành này xác định duy nhất trong | õ

Phép biến đỏi tiếp cận sư dụng câu trúc chỉ mục cho những điểm kắch thước niệu

chiều Phần 2 và 4 tiếp can su dung cau tric chi muc cu thé dura trén R-tree va bien

Trang 5

the cua nd: R*-tree Nhimg cấu trúc đừ liệu đang vậy nảy tô chức Ì khơng gian

nhiều chiều thành những hình chữ nhật chồng lắp hoảc rời nhau mà có thê tìm kiếm

nhanh chóng bởi những thuật toán cụ thẻ

IBM's Informix dang sir dung rong lon chỉ mục nhu vay bén trong Geodetic ESRI và ahing module MapInfo SpatialWare Da |InloDB InfoR], cing nhu Postgres | Postgres] xuyén sudt thực hiện GiST [GiST| Giỏng như, hệ thông thông tin địa lỉ được phát triên trong dự án Paradise [DeW¡94| sử dụng những R*-tree

Trang 6

2 Khái niệm chung của hệ thống cơ sở đữ liệu không gian

Hè thống thông tắn địa li (GIS) va su hé tro cơ bản cua chúng hệ thông cơ sở dữ

liêu không gian đẻ cập tới đữ liệu liên quan tới không gian địa lắ Không gian quan

tâm thật sự là sự trừu tượng kắch thước 2 chiều của bẻ mặt trải đất có nghĩa là hệ

thủng phải được cung cấp khả năng lưu trữ phục hỏi xư lý truy vấn và phân tắch

dử Hệu hình học

[heo [Guti94{, he thông đữ liệu không gian phải cung cap những kiểu dữ liệu không gian (SDTs) trong mô hình dữ liệu của chủng và ngôn ngừ truy vẫn vả phải

hò trợ những kiêu dữ liệu không gian trong việc thực thi cua chúng cung cấp tôi

thicu chỉ mục không gian vả hiệu qúa thuật toản trong việc phép không gian

Mục dịch chương này cung cấp lời giới thiệu chung những cách tiếp cận quan trọng nhất trong lình vực của những kiểu dừ liệu không gian vả sự xắp si-dựa trên sự xứ

lý truy vận không gian Mục 2.1 đề cập với những kiẻu mỏ hình dữ liệu khác nhau

mục 2.2 dành cho những mỗi quan hệ hình học tôpỏ trong khắ mục 2.3 giới thiệu vẻ

những hình chữ nhật dường biến nhỏ nhất (MBRs) và kẻ hoạch khai thác MBRs trong việc tắnh toán những mỗi quan hệ hình học tôno

2.! Những kiểu đữ liệu không gian

Trang 7

Để cung cấp tới người đọc ý tưởng về những loại đối tượng R-tree thường là chi mục quan trọng nhát chương này sẽ giới thiệu tom tat 2 khái niệm quan trọng nhất đẻ cắp đến định nghĩa những kiều đữ liệu không gian: Realm Based STDs [Ciuti93a, Guti93b, Guti95] va Simlicial Complexes [Egen89] Tuy nhiên, những lời giới thiệu

về SIXTs sẽ không được giải thắch như bắt buộc hiểu về những R-tree Cau trúc chi

số không gian sẽ nhìn như I thực thể riêng biệt, độc lập với những lớp thì hành (implementation) cua đôi tượng không gian

Một trong những vận để quan trọng nhất liên quan đến thiết kế và sự thắ hành

(implementation) của những kiểu đữ liệu không gian là máy tắnh chỉ cung cấp có giới hạn số thực trong khi hình học phân tắch đựa trên không gian Euclidian liên

tục thừa nhản | su chắnh xúc võ hạn của những cặp tọa độ [Egen89 Guu94,

Guu93a] Sự khác nhau này đòi hỏi người lập trình phải giải quyết vải vẫn để có thẻ nảy sinh |Í:gen89|

Vị dụ thang tt lệ tọa độ có thẻ dẫn đến những lỗi hình học tôpõ (vi dụ | điểm có thể di cư từ ! cạnh cua Ì đường tới những cái khác) giao điểm cua 2 đường có thể

được tìm thảy không nắm trên cá 2 đường hoặc 2 thao tác hình học ngược nhau có

thế phát sinh | hình học khác với gốc ban dầu

Realm-based SITs [Guti93a, Guti93b]} dé nghi | giải pháp đây du và nhất quán cho

vấn đẻ ở trên bơi sự bao đám sau cho những tỉnh chất:

Tắnh nhất quán hình học (consistency): khung chung của 3 miền thì xác định

cho cá 2 min

Tinh chat dong kin của việc thực hiện số học không gian: giao hợp/khác

cua 2 Realm-hased SDTs la | Realm-based SDT

Sự tỉnh toán hình học trong việc xử lý truy vẫn lả tư do (Irec) của những vần

đẻ chắnh xác só học vả sức mạnh (robustness)

Sự thực hiện dựa vào nhóm bạ lớp (layer) chủng được xây dựng bén dưới Mục

Trang 8

cắp tọa độ sẽ được gọi là diém lưới Điều nảy giải quyết vần đẻ tỉnh toán số học vi

mỗi điểm trong không gian được ảnh xạ tới điểm lưới đồng Ì đoạn thăng trên lưới này là được xác định như là l cặp điểm lưới Một realm R thì là l tập con cua

những điểm lưới và các đoạn thăng mà bắt kắ điểm kết thúc của L đoạn tháng là I

điêm của realm không có những diễm năm bên trong bất kì đoạn thăng vả không có những những đoạn thắng giao cũng không có bắt ki chong lap nào Những điểm xả

đoạn thăng của realm được gọi lần lượt là những điểm R và đoạn thăng R

lớn này cũng chứa I tập hợp dịnh nghĩa cơ bản nhị phân khắp những điểm và đoạn thăng R Những điều này gồm có thuộc tắnh đại số Boolean sự gặp giao, phụ

hoặc thuộc tắnh giao mả tỉnh toản điểm R là giao của 2 đoạn thăng R

Lớp thứ 2 định nghĩa vải cau trúc và thuộc tắnh mà xây dựng những khỏi của SIIs thật sự 1 R-cycle (chư kỉ) thỉnh |) la | tập các đoạn thẳng R mà bất ki doan thang si gap chi la doan thang s(i- Limod m với m là yêu tô của tập hợp,

| R-face (mặt) vẻ cơ bàn là Í RỀcvcle mà không chứa gì hoặc nhiều R-cycle nó sẽ được xem như ỳ miễn với lò thung bẻn trong nó: đầu tiên là chủ kỉ R có đường biẻn

bao quanh miễn, trong đó chứa nhiều lỗ thủng, 1 R-unit (đơn vị) la 1 R-face nho

nhất Có Ì sự chuyên dõi kắch thước 2 chiều từ tập các cạnh rời nhau R-facc thành tập các miền rời nhau R-unit Hệ quả là bất kì miễn nảo có thẻ có 2 sự trình bảy

tương tự: 1 tập của các R-Iace hoặc | tập của các R-unit Việc thảo luận chỉ tiết có

thể tìm trong [Guti93a|

Cấu trúc cuối củng trong lớp thứ 3, R-block (khối) là sự liên thông tập hợp cuu các

đoạn thăng R [Guti93al| nó sẽ được quan tâm như 1 hình nhiều nét (polyline) Những cơ ban quan trọng nhát được định nghĩa trong các R-Face R-unit, R-cvcle

và R-block bao vom việc Xúc định mién/eanhỔtoadé/dinh - bẻn trone và

miền/cạnh/dịnh - rời nhau Erong hình T vắ dụ c2 là vùng năm trong cÍ (trường hợp 1 2 3) cạnh bén trong cl (trương hợp 3 3) và định hẻn trong cÍ (trường hợp ì¡

Trang 9

Ca

C1

Hình 1: vùng/cạnh/đắnh quan hệ bên trong giữa 2 chu kì R

Lớp thử 3 và cuỗi cùng của realm dựa trên mô hình dữ liệu không gian là định nghĩa các kiểu đữ liệu không gian Đó là những điểm đường và miền và chúng đóng dưới các phép hình học hợp giao và khác

Vắ dụ cho 1 realm R ! giá trị của kiêu những điểm là 1 tập hợp những điểm R, I giả trị kiêu đường là 1 tập hợp của cặp (pairwise) các R-block rời nhau và giả trị

miền lả ¡ tập hợp của cặp các canh rời nhau của R-Fàcc

Thuộc tắnh không gian và thao tác định nghĩa ở lop nay, cing voi SDTs bién soan ROSE (Robust Spatial Extension) dai sỏ không gian {Gut93a] Với mỗi thuốc tắnh vả thực hiện đại số không gian có | sự tương ửng chức năng như ngữ nghĩa hoại

động bơi việc sử dụng thuộc tỉnh từ mức cơ ban cua thir bac realm

Thuộc tắnh không gian bieu thi moi quan he hinh hoc topo (xem muc 2.2) gitta 2 pia

tri khong gian Quan trong nhat la: : rời nhau bên trong, vùng rời nhau, vùng

bẻn trong, giao gấp gân kẻ dóng trên khung (on border of) khung chung

Trang 10

Phần còn lại của các thao tác trả lại những giả trị nguyên tử SDT (giao đường nét,

cong, tit ) so (dist chiêu đài, miễn, chủ vị ) hoặc cúc tập giá trị SDT (phân tắch-

decompose chong lap hgp nhat )

Mỏ hình dừ liệu không gian thứ 2 [Egen89| được trình bảy trong đò án nảy đi theo

| cách tiếp cận khác Mục đắch của nó là ghi lại mỗi quan hệ hình học tôpô giữa những đỏi tượng hình học vả cho phép người sử dụng truy vần vẻ vùng lân cận và bao gom xử lắ không cần tỉnh toán số học (vì vậy tránh được vẫn đè liên quan tới vô

củng cua tọa độ không gian)

lan thản mỏ hình cũng bị chắa thành các lớp Đầu tiên là lớp hình học cung cấp

khung lắm việc cho các thao tác hình học Tắt cả đối tượng được gọi là celi (ô) và

chỉ sư dụng như việc xây dựng những khỏi cho các đói tượng của lớp thứ 2 Lớp thứ 3 định nghĩa những đối tượng không gian đủ nghĩa bơi việc két hợp những bộ phận hinh học của lớp đầu tiên cùng với những thuộc tắnh phì không gian Phản trung tâm của mô hình nảy là l khái niệm don hinh (simplex) va 1 khai niệm simphicial complex [Egen89|

| simplex lá Ẩ đôi tượng nhỏ nhất cho 1 kắch thước không gian nảo đó, 1 0-simplex

là Í nut/điểm., | I-simplex là 1 canh, | 2-simplex 1a 1 tam giac, | 3-simplex 1a |

Khoi 4 mat Bat ki d-simplex duge bao g6m (d+! )-simplice eta kich thuée d-1

Vi du, | tam giac | 2-simplex thi g6m 3 simplice (cae doan thang)

Những thành phần sử dụng cho việc xây dựng L simplex được gọi là các face (mặt) cua nỏ Vị dụ Ì tam giác, các mặt của nó là các dịnh và cạnh Một sưnplex kắch thước n có:

mat co kich p (vi du, n+] mat của kắch thước ()}

| simplicial comlex (hình 2) la tap hop vo tan cua cae simplice va các face cua

chung No có the xae dinh mien phic tap vai lo thung tuomg ty 1a | realm dura yao

Trang 11

simplex ma la | mat ct ca 2 simplice [Egen89] Kich thuce ca | simplex ằ 1a kich thược lớn nhat cua bat ki simples trong c

Hinh 2: 2 simplical complexes

Những thuốc tình chắnh được định nghĩa trên các cầu trúc simplice là đường biển và

co-houndarx Dương biến cua một n-simplex s, xác dịnh tắt ca cúc mặt của kắch

thước n-Ì cuu s, co-boundary cua một n-simplex sẤ là tập tắt cá các simplice của

kắch thước n- | giới hạn bơi s, co-boundary cua | comples cụ là hop cua các có-

boundary cua n-simplice cua cy

Không gian ximplice thoa mãn những nguyên lý bộ sung sau |Ì-penR9|:

[Linh chất bỏ sung của sự tác động: giao của 2 n-simplice hoặc lá ròng hoặc là

1 mat cua ca 2 simplice Với kết qua nguyễn lý nảy không có 2 đôi tượng hình

hye ton tai trong cling | vi tri

Linh chát hỏ sung gôm có: mỗi n-simplex 1a | mat cua | (n+ 1 )-simplen

Cae thao tac cua không gian simplice bảo đảm tắnh nhất quản mer thao tác sẻ duy trì | cảu trúc xinplice hợp lẻ mà thỏa mãn nguyễn ly bd sung [hae tie cor ban cua | dai so simplice ka chén mới -, l-, (n-ỳ) và nềcell trong Ì khơng gian kắch thước n Những xiéc chén này là dòng duới cầu trúc simplice Mói quan hé hình học tôpô giữa các đúi tương hình học như là sự liên kẻ dược xuất phát tự các thao tác đường

Trang 12

cho một vai thao tac hinh hoc topo của đại so simplice (nút-node trên cạnh nút-trẻn

đa giác ) có thẻ được tìm thảy trong [Egen89]

2.2 Mối quan hệ hình học tôpô

Bây giờ giới thiệu vẻ khái niệm cơ bán đăng sau những kiểu dữ liệu không gian mục nảy sẽ tiếp tục tóm tất trình bảy 1 hình thức hóa của những mỗi quan hẻ hình

học topỏ Mặc dù những tấp con của những kiểu quan hệ này được giới thiệu bơi

mỗi mô hình đữ liệu sử dụng thuộc tắnh của đại số không gian tương ửng của nó,

ching ta sé thay | cach tiếp cản mà tập trung vào cung cap } pham vi day du cho tập hợp những quan hẻ hình học tỏpo

Quan hệ hình học tỏnỏ mỏ ta những thuộc tỉnh định lượng thuận tuý má mô ta vị trắ

liên quan của các đổi tượng khỏng gian và được duy trì đưởi sự bién dang liên tục

như lả tịnh tiên quay t lệ [Behr], Vắ dụ vẻ môi quan hệ hình học tôpỏ là gap

(meet) rời nhau, chòng lắp bẻn trong Một trong những mô hình quan trong nhất

cho quan hệ như vậy là dựa trên điểm-tập hợp hình học topo [Egen9 1 }

Mỏ hình dịnh nghĩa một cách tiếp cận rất chung bắt đầu từ những tập hợp l topology trén tập X là 1 tận hợp A của những tập con của X mà thỏa mãn 3 điều kiện:

Tập hợp rồng và X thuộc A

A là dóng dưới nhitng hop (union) tập hợp bắt kì

Á là dóng dưới những sự giao nhau hữu hạn

Mot khong gtan hinh hoe topo (topological space) la | tap hyp X với | topoloex A trên X Khái niệm này căn thiết dé định nghĩa quan hệ hình hoe t6pé o bén trong, đường biến và bén ngoài của T tập

Trang 13

kim nhat chita trong Y, Bén trong X la chinh no X rd rang, néu | tap LÍ là mở thi

=U) [Egen9 1]

Đóng kin (closure) cua Y, ki higu ầ [a giao cua tit ca tập đóng mà chứa Y tức là

dong kin của Y là tập đóng nhỏ nhất chứa Y

Lường biên của Y, kỉ hiệu ÊY là giao cua đóng kắn của Y vả đóng kắn của phản bù của Y tức là: âY =Ýể.V - Ý Đường biên lâ ! tập dóng [Egen 91]

Bén ngoai cua Y ki higu } lả phản bù cua đóng kắn của Y, tức là Ƒ =.YỞƑ, bên

ngoài là | tap mo

{linh thức, cho l cặp tập hợp con A B của khong gian hình học tôpô X một quan

hẻ không gian hình học tôn giữa Á và B được mô tả bởi chắn bộ dữ liệu giả trị của tắnh bat hiến hình học tôpỏ (vắ dụ rằng hoặc không rồng) được két hợp lân lượt tới

môi trong 9 phản tử của mũ trận giao sau:

sp 4dồ.ằB AB |

(4B) =|lf4 0B 4ồ 6B AB 4B ềeB A OB |

Cho | tap ầc NV 1 separation cua Y la | cap A B của các tập con cua X thoa 3

dicu kién sau:

A #lB và B ặ ử AUB Y,va

AMB=OandAN s&s Ể

Nẻu có sự tốn tai | separation cua Y thi Y duge noi la disconnected (khong lien thong) Ngược lại Y được nói là liên thong

Trang 14

miền không gian trong X là không rỗng đắch thực là tập con A của X mà 4ồ được liẻn thong va 4Ở 4" [Egen91] Nó rõ rằng rằng 1 tập hợp của những miễn không

gian như vậy hình thành 1 vùng phức hợp, cũng như những thứ được định nghĩa bởi

mỏ hình dữ hiệu được trình bảy trong mục 2.1 [Behar0Ẩ |

Kết qua mỗi giao nhau trong ma trận giao 9 hoặc lả rồng hoặc là không rỗng Do đó có 3ồ =ỌI2 ma trận có thẻ có mỗi trong chúng xác định 1 môi quan hệ có thẻ có

Iuy nhiên chi | vai trong chúng là môi quan hệ không gian hình học tôpõ hợp lệ

[xẻ xác định tập hợp đầy đủ của mỗi quan hệ hình học tôpỏ loại trừ lẫn nhau giữa 2

mièn phức tạp [Berh01| xác định 1 tập hợp của 8 rảng buộc mà thỏa tiêu chuẩn loại trừ cho tất ca cầu hình không thể được

Két qua chỉ có 33 cầu hình được tìm thấy có môi quan hệ hình học tôpô hợp lẽ

Chiến lược lọc truy vấn được bản luận tiếp theo chương nảy sẽ chỉ dé cập đến 8 mỗi

quan hệ má áp dụng tới những miễn không co 16 thung: disjoint, meet overlap,

cqual contains, inside, covers va coveredBy (xem bang 1) Tuy nhién ching c6 thé

Trang 15

Z mR i fy | e 6 XS - | | ow ty ¡1 1 1: i] 0 0 Ấ1 U 0y 9 01 100 ot 0| (0 0 1! Ổhao tọ @ 1Ì | contains inside equal j vo 1, (1 11) ¡1 0 0 D11; | ụ |1 { 0 1 1 U19 es, | Lor ou 10 0 1 T1 1 I1 1!

nee! covers | coveredBy overlap

Bang 1: 8 trong số 33 quan hệ hình học tôpô giữa 2 miền [Clem94, Behr01|

Phản còn lại của những mới quan hệ là có thẻ chi trong trong hep mien phic tạp

Trang 16

Để mình họa cho việc sử dụng dừ liệu không gian và mỏi quan hệ hình học tòpô trong L hệ thông cơ sở dữ liệu không gian thực tẻ Việc này là sự xét đoạn dẻ tiến

hành làm thể nào chúng có thẻ được định nghĩa vả áp dụng trong Í ngơn ngữ truy van

Những vi du tiép theo tin dung SQL khong gian [Egen94| ma được thiết kẻ cho những cơ sở dữ liệu quan hẻ vả được dựa trên SỌI Tắnh năng quan trọng nhảt của

nó là nó hoàn toàn tách rời phục hỏi vả hiển thị những chỉ thị lệnh Phan phuc hoi

thỉ tương tự như SỌQI trong khi việc hiển thị dược điều khiến bởi ngôn ngữ biểu dién do hoa (GPL) Một giản dò cơ sở dữ liệu đơn giản có thể được định nghia trong SQL khong gian giỏng như: create table City ( name char{ 20) zipcode integer, population IILCĐCT area spatial 2), create table River ( name char( 20) route spatial 1);

SOL khong gian dịnh nghĩa 4 miền cho kiểu dữ liệu không gian: khong gian 0 (tương ứng dỏi tượng kắch thước Ú chiều giỏng như là điểm) khỏng gian 1 (kich

thước Ì chiều, tức là đường) không gian 2 (kắch thước 2 chiều tức là miễn) và

không giản 3 (kịch thước 3 chiều tức là các đối tượng có thẻ tắch)

Một vỉ dụ den gu của một truy vấn chọn không gián là cô găng phục hỏi đôi

tương ở trong quan hé hình học tôpõ nảo đó (vị dụ giao) với Í đổi tương tham chiều

có thẻ dược phái biểu như là

Trang 17

-H-Ộlim tất cả con sông giao với đổi tượng truy vấnỢ Kicu SOL khong gian sau đó sẽ la:

select name from River where route intersects pick;

Thude tinh giao khong gian trong tmz quan hé hinh hoc topo giao Như vậy những thuộc tỉnh không gian có thê tắch hợp với | hé thỏng cơ sử dữ liệu như những thao tác người dùng định nghĩa (trường hợp của SQL không gian) Mặt khác chúng có

thẻ tắch hợp chức năng người dùng định nghĩa và cú pháp thay đổi nhỏ trong chức năng gọi:

select name from River where intersects(route, pick);

Pick ur hạn định (qualifier) cho phép người dùng chọn các đối tượng không gian

hoặc miền nao dé ma nhin thay được trên màn hình Thú tục chọn yêu cầu co mat

cua) GUI

Nhicu truy van phite tap sé noi 2 quan hé trên các thuộc tắnh không gian của chúng

su dung | diéu kiện hình học tôpỏ:

"Xúc dịnh những con sông nào tạo thành đường biển không gian của thanh pho va liệt kẻ tên của chúng vả dường khung chung của chúngỢ

[Điêu này chuyên qua SỌI không gian lả:

select r.namec c.naimc intersection( boundary(r.routc), boundary(c.area)) as

common boundary from River r Cities ằ where C.area meet r.route

Trang 18

2.3 Lọc truy vẫn bằng giới hạn hình chữ nhật nhỏ nhất

Lữ liệu không gian có thẻ là đôi tượng cua ký thuật chỉ mục Truy vấn không gian

và nói không gian dưa trên chỉ mục R-tree sử dụng:

Sự xắp xắ cho việc trình bảy của giá trị SUE vả Chiến lược lọc và tỉnh lọc

Một sự xấp xỉ là một ước lượng của hình học thực tế của | gia tri SDT Thông thường đây lả giới hạn hình chữ nhật nhỏ nhất (khung bao nhỏ nhất-MBR): những

trục song song hình chữ nhật nhỏ nhát mà báo toàn bộ hình học của đối tượng

khong gian [Clem94] Cau trúc chắ mục không gian nắm giữ bên trong các khung bao nhỏ nhất (MBR) các nút lá của chúng vả các con trỏ tới giả trị SDT mà chúng

xắp xi Điêu này hữu ắch cho chiến lược lọc vả tỉnh lọc [Guti94]:

Bước lọc trước hết trả về danh sách các yeu tỏ là Ì tap (superset) cua các doi tượng

đáp ửng các thuộc tắnh không gian Điều này dược thực hiện hởi việc gứi xấp xỉ

(MBRs) như là các tham số cho các thuộc tắnh Bước tắnh lọc kiểm tra chắnh xác

hình học của mỗi yếu tổ được trá vẻ bơi bước lọc như vậy một chiến luợc lớn cải

thiện tốc độ xử lý truy vấn bởi giới hạn, trong bước lọc, số lượng các yếu tô mà

được sử dụng cho việc tắnh toán hình học xa hoa (expensive) ya phức tạp (complex)

Một loại quan trọng của các truy vấn không gian là sự cân thiết xác định các mỗi quan hệ hình học tỏpô giữa 2 đỗi tượng Buớc lọc của việc xử lý truy van dau tién

sẽ xác định mỗi quan hệ giữa các MI3R cua 2 đỏi tượng Sau đó nó sẽ sử dụng ánh

xa trong bang 2 va sé tiét kiệm thời gian bơi không phải kiếm tra sự chắnh xác của

các quan hệ hình học đó mà chắc chắn là sui, Vắ dụ nêu 2 MBRs meet có nghĩa 1a

giá trị thực tẻ hoặc là rời nhau hoặc chủng meet,

Trang 19

MHR Relation l xvac( Geometry Kelation dispount disjoint =

meet disjomt v meet

overlap disjoint v meet v overlap

inside disyount v meet v overlap v inside v coveredBy coveredBy disjount v meer v overlap Ừ coveredBy

contains disjoint v mee! v overlap v contams v covers

covers dissount v meer v overlap v contains v covers equal | _equal v overlap v coveredBy Ề covers v meet

Bang 2: MBR- anh xa hinh hoc chinh xac

Với việc để ý tới ánh xạ trong bang 2, Clementini et all [|Clem94] khang dinh điều

là | quan hé MBR ỘcoveredByỢ cé thé anh xa téi | quan hé hinh hoc chinh xac

ỘinsideỢ, Tuy nhién, ching ta tìm thấy điều mả ảnh xạ đó không thẻ năm giữ

Thật vậy Nếu ! MBR A là covered bởi ! MBR B (tức a | coverdBy B), thi tir bang

| sẽ có: 24⁄ểđ8 =1 Diều này có nghĩa là có sự tòn tai | canh | cua A ma hoàn toàn trong | ! cạnh của B (từ định nghĩa tất cả MBR có cúc cạnh của chúng song song

với các trục) Nếu Ủ là đối tượng được giới hạn bởi A # là dối tượng được giới

han boi B va @ trong # thi tir bang | có: â1ểsđử <0 Trong khi các MBR là kắn, có nghĩa là 45 =1 Cho p là | điểm thỏa: péÊ2 và e2 Vị Lử ưong L, sẽ có

pel Cong co pea va a Gtrong /ử vivậy pne /

Néu peep thi pe A" Nhung pel, cho nén BOB =} thi mau thuan véi việc B la MBR cua ặ Do do pees Nhung peda cho nén A408 =}, thi mau thuan

với gia thiết a@ atrong ử

Trang 20

Hinh 4: cac MBR bang nhau và các đối tượng không gian meet

Mội kiêu khác cúu truy vấn yeu cầu đối tượng thỏa 1 quan hệ hình học topo nao đó

đổi với | đói tượng tham chiều cho trước Bước lọc bảy giờ sẽ sư dụng đảo ngược

ảnh xạ ở trên (bảng 3) như là 1 cách lọc, để xác định | tap hep yêu tỏ cua các đối

tương mà thoa các ràng buộc

Vi du | truy vẫn có thẻ yêu cầu các đôi tượng đó chứa đựng miện người dùng định nghĩa Cho I chỉ mục không gian như R-tree, các MBR của các dỏi tượng được lưu

trữ tronw cúc entry ở trong các nút lá của cây Những cntry ơ trong núi không là lá lưu trừ các MHR mà bao trùm vừa sit cac entry trong các con cua chúng (Xem

chương 4 moe ta chi tiết) Với cầu trúc chỉ số như vay vice xu ly cua cúc truy van

được cho có thẻ gòm 4 bước xử lý sau [Pape9S]:

Linh toán MR của dỏi tượng tham chiều

Tim các quan hè hình học tôpô ma các MBR của các đối tượng điều kiện có

the thoa man đôi với MBR được tắnh toán trong bước Ì Vị dụ: nẻu thuộc tỉnh

chon Li covers thắ các điều kiện MBR sẽ hoặc lả contain cover hoặc 14 equal

von MBR cua buae | (xem bang 3)

l3ắt đâu từ nút trên cùng của cấu trúc chỉ số Loại ra các nút trung gian mà khòng lưu trừ các cntry với các MBR má thoa mãn quan hé hinh hoe topo được xúc định trong bước 2 Đề quy tìm kiêm những nút còn lại,

Sau cùng là bước tắnh lọc cho việc phục hỏi các MIR

Trang 21

Exact XMIRR Relation (?eometr*x Relation clisjount disjoint Ừ meet y overlap v inside v coveredBy v contains v covers _ ineet meet overlap v equal v inside v coveredBy contains v covers overlap overlap v equal v inside v coveredBy -: contains v covers inside mside

coveredBy side v coveredBy v equal _

contains | contains v covers covers "ể contains v covers v equal

equal equal

Bang 3: chinh xac hinh hoc Ở cac anh xa MBR

Trang 22

3 KD-TREE 3.1 Giới thiệu

Đàu tiên chúng ta xem cơ sở đữ liệu lắm việc cùng với hình học Tuy nhiên, nhiều

loại câu hỏi từ bảy giờ chúng ta gọi là truy vắn vẻ dữ liệu trong L cơ sở đữ liệu cỏ

thẻ được thông dịch vẻ phương điện hình học Đề lảm điều này chúng ta ảnh xạ các mau tin trong 1 cơ sở dữ liệu thành những điểm trong | không gian nhiều chiều vả chúng ta ánh xạ các truy vẫn vẻ các mẫu tin thảnh các truy vấn trên tập hợp những

điểm, Dẻ mình hoạ cho điều nảy chúng ta đến với vắ dụ sau

Xem ! cơ sở đữ liệu quản lý con người [rong | co sở dữ liệu như vậy gom: tên, địa chắ ngày sinh, tiên lương vả vân vân là thông tin của mỗi nhân viên được lưu trữ

Một truy vẫn tiêu biểu có thẻ muốn thực hiện đề bảo cáo tất cả các nhân viên được

sinh ra từ năm 1950 đến năm 1955 ma co thu nhập từ $3,000 dén $4,000 trong !

tháng Đẻ lảm thành công thức day 1a | van để hình học chúng ta hình dung môi

nhân viên là l điểm trong mat phang [va độ đầu tiên của điểm là ngày sinh được

cho hơi số nguyên như sau:

10,000 ề pear + 100% month + day

và tọa độ thứ 2 là tiên lương hàng thủng, Với điểm này chúng ta cũng có thẻ lưu trữ

thông tin khác mả chúng ta có vẻ nhân viên như là tên và địa chắ Mội truy van cơ

sở dữ liệu yêu câu thông tin của tất củ nhân viên sinh từ năm 1950 dến 1955 và có

thu nhap tir $3,000 dén $4,000 anh xa thanh truy vẫn hình học như sau: báo cáo tat cả các điểm mà có toa do dau tiện năm trong doan tir 19,500,000 dén 19,559,999 va

cé toa dé thir 2 nam trong doan tu 3.000) đến 4.000, Nói cách khác, chúng ta muon

bảo cáo tất cả những dicm o hẻn trong | hinh chữ nhật truy vấn song song với trục

xem hình Ã

Trang 23

Tiên lrơng ẹ G Ometer ồ * 19/08/1954 $3,500 xi L ệ _ i ệ e 1s ⁄ a = ồ 3000 | Ợ -'+ e |} Ộ ' ' Ừệ ệ ee ' @ '! : ẹ a = he ; \ ; Ngày sinh 19,500,000 19,559,999

Hình 5: phiên dịch 1 truy vấn cơ sở đữ liệu về phương diện hình học

Nếu chủng ta cũng muốn có thông tin vẻ xó lượng con cái của mỗi nhân viên, và

chủng ta muốn yêu cầu truy văn tương tự như: Ộbáo cáo tất cả nhân viên được sinh

tir nam 1950 đến năm 1955 có thu nhap tir $3,000 dén $4,000 trong 1 thắng và cỏ từ 2 đến 4 conỢ? [rong trường hợp nảy chúng ta hình dung môi nhãn viên là l điểm

trong không gian 3 chiều: tọa độ đâu tiên tương trưng cho ngảy sinh tọa độ thứ 2 là

Trang 24

Nhin chung néu chúng ta quan tâm trả lời truy vấn trên d trường của các mau tin

trong cơ xơ đữ liệu, chúng ta ánh xạ các mẫu tin thành những diễm trong không gian d chiều Một truy vẫn yêu câu báo cáo tất ca các mẫu tin ma các trường của nỏ

nam trong khoang các giá trị cụ thẻ thì sau đỏ ảnh xạ thánh truy vấn yêu cầu báo

cáo tắt ca những điểm bền trong 1 hộp song song trục cỏ kắch thước d chiều Như

vay | truy san được gọi là | truy vẫn phạm vi hình chữ nhật hoặc l truy van nhạm vỉ trực giao trong hình học tỉnh toản Trong phản này chúng ta sẻ nghiên cứu vẻ cầu

trúc dữ liệu cho việc truy vẫn nay, 3.2 KD-Tree

Bây giờ chúng ta xem xét bài toán tìm kiểm phạm vì hình chữ nhật 2 chiều Cho P

là L tập hợp n điểm trong mặt phăng Trong phần còn lại của mục nảy chúng ta gia

thiết rằng: không có 2 điểm ở trong P mà có cùng hoành đỏ-x và không có 2 điểm

có củng tung độ-y, Giới hạn này thì rất không thực tẻ đặc biệt không thực te neu những diễm này đại diện cho các nhân viên vả các tọa độ lũ những thi giỏng như

tiền lương hoặc số lượng con cái Tuy nhiên giới hạn này có thẻ được khắc phục với | thụ thuật dễ chịu mả chúng tà sẽ mô tả trong mục sau

Mỗi truy vàn phạm vắ hình chữ nhật kắch thước 2 chiều trên P yẻu cầu những điểm

từ Í" năm bẻn trong hình chữ nhật truy vẫn: [x:x']x[x- x'} Một điểm p-=(p,.p,

năm bên trong hình chữ nhật nảy nếu và chỉ nều:

p,e[x:x'] và p, e[r:ry]

Chúng ta có thẻ nói: một truy vấn phạm vì hình chữ nhật 2 chiều thì gêm có 2 truy

Trang 25

fỞ Py ._ _ỞỞ P y i * * x p X Hình 7:

Trong trường hợp cảu trúc dữ liệu cho truy vẫn phạm vi kắch thước Ì chiều Để xây dựng cây tìm kiểm nhị phản, chúng ta xem xét định nghĩa đệ quy cho cây tim kiếm nhị phân sau: tập hợp (kắch thước 1 chiều) của các điểm được chia thành 2 tập con

dai thé bang nhau: | tập chứa những điểm nhỏ hơn hoặc bằng gia tri chia, tap kia

chứa những điêm lớn hơn giá trị chia Giá trị chia được lưu trữ ơ nút góc vả 2 tập con được lưu trữ đẻ qux trong 2 cảy con

Trong trường hợp 3 chiêu mỗi điểm có 2 giá trị quan trọng: toạ độ x vả 9 của nó

Do đó đầu tién ching ta chia trên tọa độ x, tiếp theo trên tọa độ y sau do thi lp lai trên tọa độ x và vân ván Chắnh xác hơn, qúa trình xử lý như sau: ơ nút góc chúng ta chia tap P bảng dường tháng đứng Ì thành 2 tập con đại thẻ kắch thước bảng nhau Đường chia được lưu trữ ở nút gốc Pa là tập con chứa những điểm ề bén trải hoặc

ở trên dường chia, dược lưu trữ trong cây con bẻn trái và PẤ;ẤẤ là tập con ở bèn phải

của nó, dược lưu trữ trong cây con bên phải Ở nút con bên trải của góc chúng ta chia PạẤ thành 2 tập con với đường năm ngang: những điểm ở phắa dưới hoặc trên đường chia được lưu trữ trong cây con bên trái của con hên trái cua óc và những điểm ứ trên nó được lưu trữ trong cây con bên phải, Con bén trái của nó lưu trừ đường chia lương tự, tập PẤẤẤ được chia băng đường nắm ngang thánh 2 tập con được lưu trừ trong cảy con bên trải vả bên phải của con bên phái O nut chau cua góc chủng ta chia lắp lai với đường thăng đứng Nhìn chung chúng ta chịa bằng đường thăng dựng o nat có chiếu sâu là chan va ching ta chia báng đường nam

Trang 26

ngang ở nủt co chiều sảu lá le Hinh & hình 9, mình họa việc chia được thực hiện

như thẻ nảo và cây nhị phản tương ứng nởi nó Một cây giống như vậy thì được gọi la kd-tree ệ a e ệ e ệ ệ Pụn Re ệ Ấ # mw IỢ ề 2 | Hinh 9:

Khoi dau, tén viet uit cua cay kắch thước k chiều: cây chúng ta mò tạ ơ trên là 2d- trec Ngày nay, nghĩa góc khong còn nữa và những gì sử dụng được gọi là 2d-tree

thì bảy giờ được gọi là kd-tree kắch thước 2 chiều

Trang 27

để quy gọi để xây dung Tham sé chiéu sau [a sero (0) & lan gọi đầu tiên Chiều sâu

thi quan trọng bởi vì như giải thắch ở trên nó xác dịnh điều chúng ta phải chia bằng

dường thăng đứng hay năm ngang Thủ tục trả vẻ gốc của kd-tree Thuật toán: BUILDKBTREE(P, depth)

Nhập: 1 tập P các điểm và chiều sâu hiện tai depth Xuất: gốc của kd-tree lưu trữ P

if P chỉ chứa l điểm then

else

return nit lá lưu trữ điểm này

if nêu depth la chin then

Chia P thanh 2 tap con bang | đường thắng đứng | xuyên qua tọa độ

x trung tâm của các điệm trong P P, là tập hợp các điểm bên trải

hoặc ở trên Ì và PỈ là tập hợp các điểm bên phải của |

else

Chia P thanh 2 tap con bing 1 dudmg nam ngang | xuyén qua toa do y trung tâm cua cae diém trong P P; la tập hợp các điểm bên dưới

hoặc ở trên l và PỈ là tập hợp các diễm ở phắa trên |

Vựa = BUÍLDKDTREE(P, depth* 1) VagẤ BUILDKDTREI(PỌ depth: 1)

Tạo l nút v lưu trữ l lắm cho Vụ là con bên trái của v và làm cho Vụ,

la con bén phải của v

return v

Thuật toán sử dụng quy ước: diém nam trên đường chiaỞỞlà điểm xác định tọa dé x

hoặc v trung tâm thuộc vẻ tập con hẻn trai hoặc ben dưới dường chìa Điều nảy làm

Trang 28

thir | 2} Picu nay co nghia la trung tâm của 2 giá trị là | giá trị nhỏ hơn ma bao dam răng thuật toán két thúc

[rước khi chúng ta dẻn với thuật toán truy ván hãy phản tắch thời gian xây dựng

một kd-tree kắch thước 2 chiều Bước đất nhất là bước thực hiện ở mỗi làn đệ quy

gọi đẻ tìm dường chắa Đây là yêu cầu xác định trung bình tọa độ x hoặc y phụ

thuộc váo chiều sâu hoặc là chăn hoặc là lẻ Việc tim giá trị trung bình có thể được

thực hiện trong thời gian tuyến tắnh, Thuật toán tìm trung bình trong thời gian tuyên

tỉnh tuy nhiên nó thì khá phức tạp Một cách tiếp cân tốt hơn là sắp xếp trước tập

hợp cúc điểm cả trên tọa độ x và v lây giờ tham SỐ tap hựp P được truyền cho thu

tue o dang 2 danh sach da sap xép, | dang sắp xép trên tọa dộ x và 1 trên y 2 danh

sách sắp xép đã cho, nó thi dé dé tìm trung bình tọa độ x (khi chiều sâu là chẵn)

hoặc trung bình tọa độ y (khi chiều sảu là lẻ) trong thời gian tuy ến tắnh Nó thì cũng để đề xảy dựng đẻ lưu trữ các danh sách cho 2 lần gọi dẻ quy trong thời gian tuyến tình từ các danh sách đã cho, Đo đó, thời gian xây dựng 1(n) thỏa mãn truy hỏi:

tần (1) final

me On+37([n/3 || n>I

ma giai ra duge O(nlogn) Gidi han này da gop thoi gian ma chung ta tieu phắ cho việc sắp xép trước những điểm theo tọa độ x vả y

Đẻ giới hạn lượng lưu trữ chúng ta chủ ý điều môi nút lá trong kd-tree lưu trữ |

điểm riêng biệt của P Do đỏ có n nút lá Bởi vi | kd-tree là 1 cây nhị phân vả mỗi

nut li va nat bên trong sử đụng O(1) lưu trừ, điều nàv ám chỉ tông lượng lưu trữ là (Cn) Dicu nay dan dén bé dé sau

Ba de 1:

Trang 29

Bay giờ chúng ta quay trở lại thuật toán truy vẫn Đường chia được lưu trio nit

gốc chia mặt phẳng thành 2 nưa mặt phẩng, Những điểm ơ trong nưa mặt pháng bền

trải được lưu trữ trong cây con bẻn trái và những điểm trong nửa mặt pháng bên phai dược lưu trong cáy con bén phải Trong cảm giác con bên trải của pốc tương ứng với nưa mặt phang bén trai va con bén phải tương ứng với nữa mắt phang ben

phai (quy ước được sư dụng trong BUILDKDTREE là điểm ở trên dường chia

thuộc vẻ cảy con bẻn trải điều nảy ngụ ý nửa mặt phăng trai la dong ứ bén phải và nứa mat phang phai là mơ ở bên trải) Những nút khác trong một kd-tree tương ứng với Í miền cua mặt phàng cũng giống như vậy Con bên trái của con bền trái cua gốc vắ dụ vẻ sự tương ứng miền được giới hạn bên phải bởi đường chỉa được lưu trữ ở nút góc và bị giới hạn ở phắa trên bởi đường chia được lưu trừ ứ nút con bền trái của góc Nhắn chung miền tương ứng 1 nút v là ! hình chữ nhật mà có thẻ

không hị giới hạn trên Ì hoặc nhiều cạnh Miễn bị gigi han boi các dường chia được

luutrirato tien cuas sem hinh sau Ừ i @ = m h - ` ểỞ ẹ da e J * 3 a 6 ` Lá - + + * Ấ+ -Ã -

Hình HH: tương ứng giữa các nut trong kd-tree va cac mien trong mat phang Chúng ta kắ hiệu miền tương tng voi | nút v là region(y) Mien cua nut oe cua |

kd-tree thi dom gián là toàn bộ mặt phẳng Quan sát | điểm dược lưu trừ trong góc cud cay cone nuts neu va chi acu ne nam trong region(s) Vi due cay con cua nut trong hình T0 lưu trứ những diểm là các chăm đen [3o đó chúng Ge phat tim go cua

Trang 30

cay con o nut v với điều kiện là hình chữ nhật truy vấn giao voi region(v) Quan sat

nảy dẫn đến thuật toán đệ quy sau: chúng ta dì ngang qua kd-tree nhưng chị việng thăm những nút mã cỏ miễn giao với hình chữ nhật truy vẫn Khi Ì miền được chứa

hoàn toàn trong hình chữ nhật truy ván chúng ta có thể báo cáo tất cả những diễm

được lưu trữ trong cây con cua nó Khi chúng ta chạm đến L nút lá, chúng ta phái

kiêm tra xem diém được lưu trừ ơ nút lá có được chứa trong miễn truy vấn hay

khong? Nếu cỏ thì báo cáo nó Hình II mình họa thuật toán truy vấn (chú ý rằng

kd-tree trong hình I1 không thẻ dược xây dựng từ thuật toán BUI.DKDTREI:: giá trị trung bình không luôn luôn được chọn là giá trị chia) Các nút màu xám được việng thăm khi chúng ta truy văn hẳng hình chữ nhật xám Nút được đánh dâu bằng

đầu sao (*) tương ứng với | miền má hoàn toàn được chứa trong hình chữ nhật truy vấn: thê hiện trong hình, miền hình chữ nhật này được tô đen l2o đó góc của cấy con mảu đen ở nút nảy được đi ngang qua vả tắt cả những diém được lưu trữ trong nó được báo cáo, Những nút lá khác được việng thăm tương ứng với các miện má chỉ có l phản bên trong hình chừ nhật truy vấn, Do đó những diém được lưu trữ

trong chúng phải được kiểm tra có chứa trong phạm vắ truy vẫn hay không: Két qua

Trang 31

Hình 11: mét truy van trén | kd-tree

(huật toán truy vẫn được mô tả ở trên hởi thu tục đẻ quy sau thủ tục nảy có 2 đối sở là: pốc của l kd-tree vả phạm vì truy vấn R No str dụng thủ tục con

RI:I*RTSUBTREI(v) khi đi ngang gốc của qua cây con ở nút v và báo cáo tất cả nhừng điểm được lưu trữ torng nút lá của nó Lời gọi le(v) và rc(v) lần lượt kắ hiệu

cho nút con bên trái và bên phải của | núi v Thuật toán: SEARCHKDTREE(v, R)

Nhập: góc của l kd-tree (hoặc góc của 1 cay con) va 1 pham vi R

Xuất: Tát cả những điểm ở nút lá phắa dưới v mà năm trong phạm vì R if v la nut la then Báo cáo điểm được lưu trữ ở v nêu nó năm trong R else if region(Ic(v)) hoàn toàn được chứa trong R then REPORTSUBTREE(Ie(v)) else if region(Ic(v)) giao voi R then SEARCHKDTREE(le(v) R) if region(re(v)) hoàn toàn dược chứa trong R then REPORTSUBRTREE(rc(v)) else if region(Ic(v)) giao voi R then SEARCHKDTRI:E(lc(Ề ) R)

Phan chinh kiém tra thực hiện của thuật toán truv vẫn là phạm vắ truy vẫn R giao

Trang 32

tương ứng nút con bên trái của nút v ở chiêu sâu chăn có thẻ được tỉnh toán từ

rc#ion(x } như sau: region(Ic(v)) = region(v)al{y er Trong đó l(v) lá đường chia được lưu trữ ở nút v và l(v)Ỳ" là nưa mặt phãng bên trái vả bao gôm va l(v) lé) lv) region(v) Hình 12:

Quan sát thuật toán truy vẫn ở trên, chúng ta không giá thiết phạm vắ truy vẫn R là

hình chữ nhật Thật sự, nó làm việc với bất kì phạm vị truy van nảo khác cũng

được

Bảy giờ chúng ta phân tắch thời gian l truy vấn với phạm vi hình chữ nhật

Bồ đẻ 2:

Mot truy van với 1 hình chữ nhật song song trục trong 1 kđd-tree lưu trữ n điểm có thẻ dược thực hiện trong thời gian O|Ýn +k với k là só điểm dược bảo cáo

Chưng mình:

| rước tien chung ta chú ý thời gian đề di ngang qua | cây con và báo cáo những điểm được lưu trữ trong nút lá của nó là tuyến tỉnh với số lượng điểm được bảo cáo

lo đó tổng thời gian yêu câu để đdắ ngang qua các cay con trong bước

Trang 33

-REPORTSUBTREE la (4), vei k la tong sé diém duge bao cdo, No con gidi han

so emg nut bi vieng tham bai thudt toan truy van không là các cảy con được di ngang qua (Đây hi cae nut mau xam trong hinh 7) Vor mỗi nút v phạm vắ truy vẫn giau thắch hợp region(y) do 1a region(v) bi giao nhưng không hoàn toàn chưa trong phạm vị truy vấn, Nói cách khác đường biên giới của phạm vi truy vẫn giao

region(v) Để phân tắch số lượng nút như vậy chúng ta sẽ giới hạn sỏ lượng các

miễn bị giao bởi đường tháng đứng Điều này sẽ cho chúng ta l giới hạn trên vẻ số lượng các miền bị giao bơi cạnh bên trái và cạnh bên phải của hình chữ nhật truy

vấn, Số lượng các miễn bị giao bởi cạnh dưới và cạnh trên của phạm vỉ truy vẫn có

thẻ được giới hạn cùng cách đó

Cho l là đường thăng đứng vả T [a 1 kd-tree /(reor(7)) là đường chỉa lưu trữ ở nút gốc cua kd-tree Đường thắng | giao hoặc là miền bên trái của /(rụụr(7)} hoặc là miền hẻn phải cua /(roor(7)) nhưng khong 1a ca 2 Quan sat nay dua dén O(n) la

số lượng miễn hị giao trong kd-tree lưu trữ Ì tập n điểm thoa mắn công thức truy

hoi: V(r) =1+ O(nỔ 2) Nhung điều nảy thi không dúng bởi vì dương chia nắm ở nút con cua gốc Điều này có nghĩa là nếu đường thăng | giao (vi dụ)

reggton[c(reor(f))| thì nó sẻ luôn luôn giao các miễn tương ứng là tat ca các con

của fe(reor(7)) Do đó trạng thái đệ quy nảy chúng ta sẽ không giỏng như tỉnh

huong ban dầu và phép truy hỏi ở trên thì không chắnh xác Đẻ vượt qua vẫn đẻ nảy chủng ta phải chắc chắn trạng thái để quy này đúng giống như trạng thai ban dau: gốc cua cấy còn phái chứa đường chắa thắng đứng Diệu nảy dẫn dắt chúng ta định nghĩa lại 02 là só lượng các miền bị giao trong Ì kd-tree lưu trừ n điễm mà nút

góc cuu nó chứa dường chắa thắng đứng Đề viết công thức truy hỏi (XỪ) bảy giờ chúng tà phút đi xuong 3 bậc trong cây Mỗi nút trong 4 nút ơ chiều sảu Đ trong cây tương ưng | miện chứa n$ điểm (chắnh xác là: ỳ miền có thẻ chữa tôi da

i[m?3|/3| =[sr/4 | điềm nhưng tiệm cận nay thi không anh hưởng dến kết qua của

Trang 34

chúng ta phải đếm so Iugng mién hj giao Tuy nhién | giao mién của gốc va | trong

cae con cua nd Do dé Vr) thou man công thức truy hồi:

(1) ifn=l

Yin)-

O(n) 2+20(n/4) ifa>l

Hinh 13:

Công thức truy hỏi này giải ra dược O(n)=O(vn \ Nói cách khác bất kì dường

thăng đứng nào giao @2{ VÌ} miền trong | kd-tree Trong cùng hưởng tương tự này

có thẻ chứng minh rang tông sỏ các miền bị giao bởi đường năm ngang là đ{ ýỪ |

Tổng sỏ miễn bị giao bởi dường biện của phạm vị truy vẫn hình chữ nhật cũng được

giới hạn bởi (2 vin),

(dpem) Phan tắch thời gian truy vận, chúng tá đã đưa ra ở trên thì khá bắ quan: chúng ta đã

giới hạn số miền giao | cạnh cua hình chữ nhật truy vẫn bởi số miễn giao dường

thăng xuyên qua nó [rong nhiều tỉnh huông thực tế phạm vỉ sẽ nhỏ Kết quá là các

cạnh thì ngắn vá sẽ giao với vài miền Vắ dụ khắ chúng ta tìm kiểm với Ì pham vì [x :v|*Í[c: vÌ truy van này thực tế hoi điểm (X.Y) có ở trong tập hợp không thời gian truy van bi gidi han boi CuoreỪ)

+ * re

Trang 35

Một kd-tree của } tập P gồm n điểm trong mặt phẳng sư dụng @(z) lưu trữ và có thể được xây dựng trong thời gian @(mlogỪ} Phạm vi hình chữ nhật truy vấn trên kd-

tree trong thời gian ẹ( ý + &} với k là số điểm được báo cáo

Các kd-tree có thẻ được sử dụng cho tập hợp những điểm trong không gian 3 chiều

hoặc cao hơn Thuật toán xây dựng thì cũng rất giống như trường hợp của mat

phiing (2 chiều); ở nút gốc, chúng ta chia tập hợp điểm thành 2 tap con dai thé cùng, kich thước bởi l siêu phăng vuông góc với trục x, Nói cách khác ở nút gốc tập hợp điểm được chia đựa trên tọa độ đầu tiền của các điểm Ở nứt con của gốc việc

chia dựa trên tọa độ thứ 2 ở nút có chiều sâu 2 dựa trên toa độ thử 3 vả vân vân

cho tới chiêu sâu d-1 chủng ta chia trên tọa độ đứng cuối củng Ở chiều sâu d chủng ta sẽ quay lại chia trên tọa độ dâu tiên Việc đệ quy đừng khi chỉ có Ì điểm ở bên

trái mà sau đó được lưu trữ ở nút lá Bơi vì ! kd-tree 2 chiều cho Ì tập gồm n điểm

là | cây nhị phân với n nút lá, nó sử dụng (2{Ừ} lưu trừ Thời gian xây dựng 1a

(0(srog n) (như thường lệ chúng ta giá thiết ở là hãng số)

Cúc nút trong Ì kd-tree đd chiều tương ứng là các miễn giống như trong mặt phăng thuật toán truy vấn viễng thăm những nút mà có miễn của nó giao thắch hợp bởi

phạm vắ truy vẫn và đi ngang qua các cây con (để báo cáo những điểm được lưu trữ trong nút lá) mả có gốc ở nút có miền được chứa hoản toản trong phạm vi truy vấn

Nó có thẻ thực hiện trong thời gian truy vẫn giới hạn bởi @{ụ ỢỘ +#}

3.3 Phát sinh tập hợp điểm

loi bay gid ching ta da ap dat giới hạn không có 2 điểm có củng tọa độ x hoặc y điều này rất không thực tế May mắn thay điều nảy có thẻ dễ dàng sửa chữa Điều nhàn thấy cốt yếu là chúng ta không hao giờ gắa thiết các giả trị tọa độ là các số

Trang 36

Ching ta thay thẻ các tọa độ là các số thực bởi các phân tử cua không gian SỐ phức

Các phần tử của không gian nảy là các cặp cúa các số thực Só phức của 2 số thực a

và b được kắ hiệu là (z|ệ) Chúng ta xác định thử tự trên không gian số phức băng việc sư đụng thử tự từ điển học cho nên, với 2 số phức (Ưl#) vả (ụ \h ) chung ta có:

{alb)<(a[b) Ủ a<a or (a=a undhỀh]}

Bây giờ chúng ta giả thiết, chúng ta có tập P gồm n điểm trong mặt phăng Những

điểm này là rời nhau, nhưng có nhiều điểm có thể có cùng tọa độ x hoặc y Chúng ta thay the môi điểm ụ:=(p,.p, } bởi 1 điểm mới p:={(p, 1 Ì-|ụ, |p, )} có các số

phức là cúc giá trị tọa độ Với hướng này chúng ta thu được 1 tập hợp mới P của n

điển Toạ độ đầu tiên của bất kì 2 điểm trong Z' là khác nhau: điều này cũng đúng

với toa độ thứ 2 Sử dụng thứ tự được định nghĩa ơ trên bây giờ chủng ta có thể xây dựng cúc kd-trec

Gia sự bấy giờ chúng ta muốn báo cáo những diễm những diễm của P nằm trong pham vi Re= [x oy }ề{ y: y | Đẻ thực hiện việc nảy chúng ta phải truy vẫn cây mả

chúng ta xây dựng trên tập P Điều này có nghĩa là chúng ta phải thay đổi phạm vắ

truy xản thành phạm vì truy vẫn mới trên không gian phức phạm vắ thay dôi P

được xúc định như sau:

R =[ (| -o) :(x | +00) ]{ ("| -s):(v | củ

No vin chime to cach tiép can của chúng ta la ding: nhiing diem cua P ma ching tạ búo cáo khi chúng ta truy vấn với # tương ứng chắnh xác như những điểm của P

Trang 37

Cho p là 1 điểm và R là phạm vị hình chữ nhật thì:

p< = peR

Chirng minh:

Cho R= [x: t ]ỘÍr: ' ] va p:={(p,.p,} Từ định nghĩa: p nằm trone R nẻu và chỉ neu; oxsp.sv và ysp sy Điều này thì tương dương với (xI=z}<Íp, |Ợ, }<{t | +0) va (xI-s)<Íp,Lp,]<(y I+=} dây chắnh là tương đương với p nắm trong #

(dpem)

Chúng ta có thẻ két luận cách tiếp cận của chúng ta thật sự là đúng: chúng ta sẻ có trả lời đúng cho l truy vận Quan sát thay khong that su cản thiết lưu trữ những

điểm biến đôi: chúng tà có thẻ lưu trữ điểm ban đầu được cung cắn cho chung ta so

sánh giữa 2 tụa dò x hoặc 2 tọa dộ y trong không gian phức

Tiếp cận nảy sư dụng không gian phức cũng có thẻ được sử dụng trong khỏng gian

Trang 38

4 R-Tree va Bién thé R*-tree

Chi mục không gian mong đợi cung cấp phương pháp hiệu qúa cho việc thao tác như là chọn không gian và nói không gian kỳ thuật chắ mục truyền thông thường

được thiết kẻ cho đữ liệu kắch thước một chiều [2o đó chúng thì khó thắch ửng mỏ

hình dữ liệu tương tự được mô ta trong chương 2 Bởi vậy có I nhú cầu vẻ những cau trúc chỉ mục đặc biệt mà có thẻ điều tiết dữ liệu không gian bởi việc cho phép

thứ tự kắch thước nhiều chiều (tức là vị trắ không gian của các đối tượng trong mật

phăng 2 chiều)

Những vị dụ mô hình dữ liệu khong gian trong chương 2 gôm có một dãy cua các

lớp Tắnh toản thuốc tắnh dại số không gian dòi hỏi phân tắch đệ quy của những thuộc tắnh này bên trong những thuộc tắnh ở mức thấp hơn mà cuỗi cùng két qua

tắnh toán dắt (expensive) Do do trong trường hợp lượng lớn dữ liệu việc tìm kiểm hết mọi khắa cạnh ma vieng thăm mọi đổi tượng của không gian là hoản tồn khơng hiệu qua Cách mả trong do thao tác không gian giúp ắch từ sự có mật cua chỉ mục không gian mà chắ những vùng nho của không gian cần được quyết cho những dỏi

tượng mà thực hiện thuộc tỉnh của thao tác,

Chương này sẽ giới thiệu mô tả vẻ R-tree là cau trúc dừ liệu quan trọng nhảt cho

những hình chữ nhật chỉ mục Mục 34.1 được dành cho kiểu của R-tree mả được

thiết kế bởi Antonin Guttman [Gut84] Những mục tiếp theo sẽ tiếp tục với trình bay | cải tiến kiểu cầu trúc dữ liệu nảy: R*-tree trong mục 4.2

4.1 Cau tric R-tree

R-tree [Gutt84] là cau trie di ligu dang cay tuong ty B-tree Myc dich chinh cua | R-trec là tò chức dữ liệu không gian theo cách mả sự tìm kiểm sẻ đến thâm vai doi tượng không gian có thê trước khi tra vẻ kết quá Việc quyết định trên những núi nào dé đến thâm dựa trên sự tắnh toán thuộc tỉnh không gian vì vậy cây phai giữ

một số loại dữ liệu trén tat ca các núi

Trang 39

Nút lá chứa đựng những record cntry chỉ mục ứ dạng:

(f.Ủiđ)

Trong đó I là MBR (xem mục 3.3) của đôi tượng không gian chắ mục và oid là I

con trỏ tới record cơ sở đữ liệu mà chứa đổi tượng thật sự

Nút không là nút lá chứa record chi mục ở dạng:

(/.<p)

Trong đó I là MBR của tất cả các hình chữ nhật có mặt trong các cntry của nút con ơ mức thấp hơn được trỏ tới bởi cp Xem hình 14 hình ánh trình bảy R-tree

Giống như những nút trong B-tree, Í nút R-tree có thẻ năm giữ nhiều nhất là M và it

nhất là m entry, vol 2<m< M/2 Tham so m có thẻ được xác định dựa vào cơ so thắ nghiệm

R-tree thỏa mãn những tắnh chất sau:

Mọi nút lá chứa từ m dén M record chi muc acu no khong là nút góc Mọi nút không là nút lả có từ m dẻn M nút con nẻu nó không là nút gốc Nút góc có it nhất 2 nút con nêu nó không là nút lá

Tat cả nút lá xuất hiện ở củng Í mức (cây được cản bảng) Mot R-tree ma N dói tượng không gian ch: mục có số nút lớn nhất là:

XN N

Vmax =| lữ: +]

mm m

Trường hợp xấu nhất sử dụng không gian cua Ì nút (ngoại trừ nút góc) là m Do đó mỏi nút nắm giữ chắnh xác m enưy Vắ có N record chỉ mục điều này có nghĩa là trường hợp xaâu nhát (dưa đẻn sỏ nút lớn nhất) ơ mức thấp nhất của cây chứa V mm la

Ngay lặp tức mức ở trên mức lá có cúc nat chia m entry, Tat ca nhitng nut nay a cup nay co cac con li Vom lá, Do do ơ cấp này có:

Trang 40

.T-3|* | nút, và vản văn, tới mức nút gốc chỉ chứa ! nút Do do ta c6 phuong trinh (1) ngay N me (1) "| lập tức Chiều cao cua cây nay (N đôi tượng không gian chỉ mục) tỏi da là /f max với: H max =| logẤ ` |-1 (2)

Đây là sự chứng mình theo sau từ phương trình (1) Mức dấu tiên sau gốc có chắnh xac m nut Nhung ur (1), cling mire nay có | Vim" | Deo do,

X

f2 mạ

m

|=Ợ => M=mỢ*""' = Hmax =|log, N |-1

| R-tree dựa trên chi muc thi dong hoan toan (completely dynamic) trong suy nghĩ mà nó cho phép tìm kiểm và cập nhật cùng thời gian Ngồi ra khơng có sự tơ chức

lại tuần hồn (neriodic reorganization) nào được yêu cầu

Vi du tidu biều nhất của việc tìm kiếm là nơi mả người dùng hỏi vẻ tất cả đối tượng

chóng lắp Ì miền nào đó, Vì các MBR được lưu trừ trong entry chi muc duge cho

phép chẳng lắp R-tree không thể bảo đầm chỉ Ì đương dẫn tìm kiểm cần thiết được

xem xét Thách thức nảy là động lực trong việc xảy dựng bao ranh giới và sắp xếp

ching trong | hudmg ma sé cực tiêu hóa số lượng cua các đường dẫn cần thiết trong

việc gia quyết bài toán tìm kiếm

lây giờ chúng tạ sẽ mơ ta thuật tốn với những thao tác chắnh má có thể được thực

hiện trén | R-tree Irình bày là mẫu tự đo và sẻ có gắng giải thắch nguyên lý đẳng

sau thuật toàn Cũng như vai van dé tiem năng Những vắ dụ ngăn sẽ mỉnh họa sự tim kiem và xây dung | R-tree

Tìm kiểm

Vice tim Kiểm | R-tree được làm nói chúng bơi việc từ tát ca cae record chi muc

Ngày đăng: 29/12/2023, 04:57

w