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 Thanh Phố Hồ Chi Minh đã tận tình giảng dạy truyền đạt những kiện thức và kinh nghiệm quý bau cho em
Đồ án của em sẻ rất 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
thanh cam om dén thay
Xin chan thanh cam ơn sự giúp đỡ động viên và chỉ báo rất nhiệt tinh
của cúc anh chị dì trước vả tat cả bạn bè 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ói
[im rất mong nhận được sự thông cám vả chi bao tin tinh cua quy Thay
có và các bạn
Trang 3Ls COWIE ee aa ies 2 2 Khái niệm chung của hệ thống cơ sử dữ liệu không gian 4
+.l Nhitng Kicu do ligu Khong gia sce ete te ee neeeeteeeieneesctecceeseenenes 4
2.2 Mỗi quan he hinh học topo spidaadva iaepepnaeapebeos Nad bata sb gg iad dual iaucdsadeuavcauacbaKcbectes lũ 23.3 Lọc tru văn băng giới hạn hình chữ nhật nhỏ nhát ⁄1iX& duc
Si L5 KU TINE (22c c2 2s v04) A0622 x62 0
31 Giới an SERRA Cc ee eee Peers Maw 20
3.3 Phát sinh tip hợp điểm (0x32 101001116Ay6iả00i226000X0AEsskgidiixspidii 33 4 R-Tree và Biến thể R*-tree aac ae ane 36 RTs ỘSoceaSteaes Retr sess maases crcscessnaeshaetsi wcaaiesinasoctiapatbaagaipasatv wernt ASS R -Etviaoyisaacvyt2ytxittoibiaSliagliekqdkbgirodtipliidgibkoifGsgausa 43 43 Tóm tát | số thuật t toán cơ bản của R-trec pees 47 4i XS YX(ỀNÍ váitocecccvgicctccasvaesrdiioddapaaeee jRicsy(sv 27 *J/2ý TRÀ W|MĂỀ cscccpecoceoernoiezyoobskos.ltiscevaieEdCaryseettssose 42 442 CRH-GQ/GÍỀs:.cvecdeeoaaoee Wv&2YZY bas2ầYVdcg0iC,cv66i16% eres cps 48 \.16, 7 TH NNUDC ceooasaansoeosre-eknsdroeeeereoukoeremesene Ở xardrreasdfỉE
+32 AUUSIÍTVESsovesee.ee.eeeoeẻ mm 48
ỘCO 1 (No c=exnảebsesenỞsssss<enaềeseenaerrrepkeeearsrsexevosves ểỞỞ
437 Imdlcaf Ôn 1 19V 2x1 ng nu nh cụ ẲỖđaáai 49 MFR, TC(ROGTEEITEE o.e.-.Ởễ-Ởnmsanneseeneseneennmenẻ ểỞỞỞ
44 Apdung R [ree vào thuật toán xây dựng lưới [IN $
441 Cáu trúc dữ liệu đẻ thể hiện doi tượng : dữ liệu 50
Trang 41 Giới thiệu
Mục đắch của phương pháp truy cập không gian là tỏ chức đữ 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 đữ 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 kắch 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 nằm hẻn trong 6 những ô xa hơn được ảnh xạ vào trong những thùng (bucket) ma có thẻ 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ó kdb- tree [Robi8t] va 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 ch 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 dòi những hình chữ nhật thành những điệm trong khóng gian 4 chiều sử dụng miền chóng lấp như là thùng (bucket) đề 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 | 6
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 cầu trúc chi mục cụ thé dura trén R-tree va bien
Trang 5the cua nd: R*-tree Nhimg cau trúc đừ liệu đạng 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 đang sử dụng rộng lớn chi muc nhu vay bén trong Geodetic ESRI và những module Manlnfo SpaualWare Da |Infol2B InfoR], cing nhu Postgres |Postgres| xuyên suốt thực hiện GiST {GiST| Giỏng như, hệ thông thông tin dia li
được phát triên trong dự án Paradise [De Wi¡94| sử dụng những R*-tree
Trang 62 Khai niém chung của hệ thống cơ sở đữ liệu không gian
Hè thống thông tắn dia li (GIS) va sự hỗ trợ 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 phai đượ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
theo [Guti94j, hệ thống đữ liệu không gian phải cung cấp những kiểu đữ 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 đữ liệu không gian trong việc thực thị cua chúng cung cấp tôi
thicu chi muc không gian và hiệu qua thuật toản trong việc ghé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.Ì đề cập với những kiều mỏ hình dữ liệu khác nhau
mục 2.2 đà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 đường biến nhỏ nhất (MBRs) và kẻ hoạch khai thác MBRs
trone việc tắnh toán những mỗi quan hệ hình học tônỏ
2.1 Những kiểu đữ liệu không gian
Những kiều dữ liệu không gian ghi giữ những vật trừu tượng cơ bản của mô hình
đưn giản, chứa đổi tượng Ì tập hợp những kiêu dữ liệu có thẻ {điểm đường miền)
JCGuU94|, 1 điểm tượng trưng cho 1 dỏi tượng mả chỉ vì trắ của nó trong không gian
có liên quan, nhưng bản thân nó không là l khu vực Ì đường (hoặc 1 hình nhiều diường) tượng trưng cho sự liên thông giữa 2 (hoặc nhiều) điểm trong không gian
| rang thực tế các dường thăng và hình nhiều đường được sư dụng để mô phỏng vắ dụ các con đường hoặc con sông l miễn là ỳ sự trừu tượng cua l đôi tượng mà liên
quan den khu vue (vi dụ: rừng, cánh dòng, hỏ ) Í miễn có thê có nhiều nhả và có
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à chỉ mục quan trọng nhát chương này sẽ giới thiệu tóm tất 2 khái niệm quan trọng nhất
đẻ cập đến định nghĩa những kiều đữ liệu khong gian: Realm Based STDs [Guti93a,
Guti93b, Guti95] và 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 Cấu trúc chi
số không gian sẻ nhìn như 1 thực thê riêng biệt, độc lập với nhừng lớp thi hành (implementation) cua đôi tượng không gian
Một trong những van để 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 dự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 Guti94,
Gut93a] Sự khác nhau này đòi hỏi người lập trình phải giải quyếL 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ỏ (vắ dụ L điểm có thể
di cư từ ! cạnh cua Ì đường tới những cái khác) giao điểm cua 3 đường có thể
duge tim thay khong nam 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 đầu
Realm-based SI)Es [Guti93a, Guti93b]} đề nghị L giải pháp đây dụ và nhất quán cho vấn đẻ ở trên bơi sự bảo đá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 miễn
Tắnh chát đóng kắn của việc thực hiện số học không gian: giáo hợp khác của 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)
Trang 8cắp tọa độ sẽ được gọi lả điểm lưới Điều nảy giải quyết vẫn đẻ tỉnh toán so hoc 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à 1 cập điểm lưới Một realm R thi la 1 tap 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ểm của realm không có những diễm nam bén trong bat ki đoạn thăng vả không có những những doạn tháng giao cũng không có bắt kỉ chòng lắp nào Những điểm và doun thang cua realm được gọi làn lượt là những điểm R va doan thang R
lớp 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 diề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 cầu trúc và thuộc tỉnh mà xây dựng những khỏi của SI) Is
thật sự I R-cycle (chu ki) thỉnh |) la Í tập các đoạn thăng R mả bất kì doan thang si
gặp chắ là đoạn thăng s(¡ + Ì mod mụ với m là yếu tô của tập hợp
| R-face (mat) vé co ban la 1 R-ey cle, ma khéng chia gi hode nhicu R-cycle no sẽ được xem như | miền với lò thung bẻn trong nó: đầu tiên là chu kỉ R cỏ đường biên
bao quanh miễn, trong đó chứa nhiều lỗ thủng 1 R-unit (đơn vị) là l R-face nho
nhất Có I sự chuyên đô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-uait 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 trone lớp thứ 3, R-block (khối) là sự liên thông tập hợp cua các
đoạn thăng R [Guti93a| nó sẽ được quan tâm như | hinh nhicu net (polyline)
Những cơ ban quan trọng nhat được định nghĩa trong các R-lace R-uni R-vvclc và R-block bao vom việc Xúc định miến/cạnhtoađộ/dinh - bén trone và mién/canh/dinh - 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 ben trong cÌ (trương hợp 2 3) và dịnh ben trong cÍ (trường hựp 3!
Trang 9
C2
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 đong dưởi các phép hình học hợp giao và khác
Vắ dụ cho 1 realm R 1 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 (patrwise) 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-lice
Thuộc tắnh không gian và thao tác định nghĩa ở lớp này, cùng với SDIs biên soạn ROSE (Robust Spatial Extension) dai so khéng gian {Guti93a] Với mỗi thuốc tinh 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ơ bạn cua thu bac realm
Thuộc tắnh không gian biểu thị mỏi quan hệ hình học tôpô (xem mục 2.2) giữa 2 giá
trị không gian Quan trọng nhất là: : rời nhau bên trong, vùng rời nhau, vùng
bẻn trong, giao gập gản kẻ đóng trên khung (on border of) khung chung
Trang 10Phầ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, tr ) so (dist chiéu đài, miền, chủ vị ) hoặc các tập gia tri SDT (phan tich-
decompose chong lap hgp nhat )
Mo hinh dit ligu khéng gian thir 2 [Egen89] duge trinh bay trong do an nay di 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à
báo gồm xử lắ không cần tỉnh toán số hoc (vi vậy tránh được vẫn đè liên quan tới vô
củng cua tọa độ không gian)
Ban than m6 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 lam việc cho các thao tác hình học Tất cả đối tượng được goi la cell (6) 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 đu nghĩa bơi việc két hợp những bộ phận hình học của lớp dầ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 simplicial complex [Egen89}
L simplex lá Ẩ đôi tượng nhỏ nhất cho 1 kắch thước không gian nảo đó, | 0-simplex
là Í nút/điêm, I I-simplex la 1 canh, | 2-simplex la 1 tam giác, | 3-simplex 1a |
Khoi 4 mat Bat ki d-simplex duge bao gom (d+ | )-simplice eda kich thude đ-]
Vắ dụ ! tam giác | 2-simplex thi gồm 3 simplice (các đoạn thãng)
Những thành phản sử dụng cho việc xây đựng L simplex được gọi là các face (mat)
cua nó Vị dụ Ì tam giác, các mặt của nó là cae dinh va canh Mot simplex kich
thước n1 cỏ;
mat co kich p (vi du, n+] mat của kắch thước ()}
| simplicial comlex (hinh 2) la tap hop vo tin cua cae simplice va cac face cua
Trang 11simplex ma li Ì mặt của cả 2 sưnplice [Egen89| Kắch thước của | simples c là kắch thược lớn nhĩt của bat ki simples trong c
Hình 2: 2 simplical complexes
Những thuc tình chắnh dược định nghĩa trên các cầu trúc simplice la duoneg bien va co-boundans Dudme bien cua mot n-simplex s, Ade dinh tắt cu cue mat cla kắch thước n-Ì cua s, co-boundary cua mot n-simplex s, 14 tap tat cu cae simplice cua kắch thước n' Ì giới hạn bơi sẤ, co-boundary của | complex cẤ là hợp cua các co- boundary cua n-simplice cua cạ,
Không gian simplice thoa mãn những nguyên lý bộ sung sau |Ì-genR9|:
Vinh chat bo sung cia sy tác động: giao của 2 n-simplice hoặc là ròng hoặc là 1 mat cua ca 2 simplice Voi két qua nguyên lý nảy không có 2 đôi tượng hình hoe ton tai trong cling | vi tri
Vinh chat b6 sung gom có: mỗi n-simplex là Ì mặt cua | (n+ 1 )-simplen
Trang 12cho mot vai thao tác hình học topo cia dai so simplice (nút-node trẻn cạnh nút-trẻn da giác ) có the duge tim thay 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 co ban đă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 tôpõ 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ó
chúng ta sẽ thấy l cách tiếp cận mà tập trung vào cung cấp 1 phạm vắ đầy dủ 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 tri dudi su biển dạng liên tục như lả tịnh tiền quay t! lẻ [Behr0L| Vắ dụ vẻ mỏi quan hệ hình học tỏpo là gáp (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 hoc topo [Egen91 }
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 | topology trén tập X là tập hợp A của những tập con của X mà thỏa mãn 3 điều
kiện:
Tap hop rồng và X thuộc A
A là dòng dưới những hợp (union) tập hợp bắt kì
Á là dóng dưới những sự piao nhau hữu hạn
Mội không gian hình học topo (topological space) la | tap hop X ven | topology A trên X Khái niệm này cần thiết để định nghĩa quan hệ hình học tôpỏ ơ hẻn trong, đường biến và bén ngoại cua ỳ tạp
Cae tap hyp trong | topology trén X duge gọi là các open set (tạp mơ) và phán bu của ching gor li tap deny (closed ỌeL), Sau đỏ, cho Ƒ c V, bên trong cua Y kì hiệu là Yồ lá hợp cua tắt cá tập mơ mà dược chứa trong Y, tức là ben trong Y fa tap me
Trang 13lứn nhất chứa trong Y, Bên trong X là chắnh nó X rõ rằng nêu Ì tập LÍ là mở thì
L!"=L) [Egen9l|
Đóng kắn (closure) của Y, kắ hiệu Y là giao cua tất cả tập đóng mà chứa Y, tức là
đóng kắn của Y là tập đóng nhỏ nhất chứa Y
During bien 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 - Ý Đường biên lâ I tập dóng [Egen 91]
Bên ngoải của Y, kắ hiệu P lả phản bù cua đóng kắn của Y, tức là Ƒ =.VỞF, bên
ngồi là Ì tập mơ
{linh thức, cho l cặp tap hop con A, B cua khong gian hình học topé X, mot quan hé khong gian hình học topé giữa Á và B dược mô tá bởi chắn bộ dữ liệu giả trị của tinh bat bien hình học t6pé (vi dụ rằng hoặc không rồng) được két hợp lần lượt tới
moi trong 9 phan tr cia ma tran giao sau:
41ồ B 4 .ằB AB
Iạ(4.B)=|C4 8 @4ồ 6B Ạ40Bồ 4Ó T8 4 0B 48 |
Cho | tap ầ c VY 1 separation cua ầY la | cap A B của các tap con cua X thoa 3
dicu kién sau:
A#BvaB# ẹ,
AUB? Y.va
AMB=OandAn& ẹ
Neu c6 sy tén tai | separation cua Y thi Y được nói là đisconnected (không liên thong) Ngược lại Y được nói là liên thong
Trang 14miề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=A" [Egen91} Nó rõ ràng rằng | tap hop cúa những miễn không
pin như vậy hình thành | ving phức hợp, cũng như những thứ được định nghĩa bởi mo hinh dit hé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 Ì mơi quan hệ cỏ thẻ có
Tuy ohié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ỉ để 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,
cyual contains, inside, covers va coveredBy (xem bang 1) Tuy nhién ching c6 thé
Trang 15@ a | | ~ | | | ứ U tị ¡1 U14 ¡1 0 0 1n" | 0 1 8 01 10 0 v 1 0] | 1 1Í (0 0 1! FỊ 11 t 0 1) ¡_ _ địspomt contains inside equal oO od, ibid Ổ10 0 11] | ụ tt ỔoOo 11 110 I1 1 lL rou 10 0 1} Ổyoul I1 ] meer Ộ overlap
Bang 1: 8 trong số 33 quan hệ hình học tôpô giữa 2 mien [Clem94, Behr01] Phan con lại cua những mỏi quan hệ là có the chi trong trong hep mien phức tạp
Trang 16He minh hoa cho việc sử dụng đừ liệu không gian và moi quan he hinh hoc topo 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 đẻ 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 vắ dụ tiếp theo tản dụng SQI không gian [Egen94| mà được thiết kẻ cho
những cơ sở dữ liệu quan hẻ vả được dựa trên SỌI Tắnh nang 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 Phản phục hỏi
thi tương tự như SQI trong khi việc hiển thị dược điều khiến bởi ngôn ngữ biểu điển do họa (GP) Một giản đò cơ sở dữ liệu đơn giản có thê được định nghĩa trong SỌI., không gian giỏng như: create table City ( name char(20) zipcode IECĐCF, population IILCĐCT area spatial 3 }; create table River ( name char( 30) route spatial 1);
SQI không gian dịnh nghĩa 4 miễn cho kiéu dit ligu khong gian: Khong gian 0 (tương ứng đòi tượng kắch thước ( chiều, giỏng như là điểm) không gian 1 (kich
thước 1 chiều, tức là đường) không gian 2 (kắch thước 3 chiều tức là miện) và không gian 3 (kịch thước 3 chiều tức là các đối tượng có thẻ tắch)
Một vì dụ đơn giun 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é hinh hoc tépé nao do (vi dụ giao) với Í đổi tương tham chiều có thẻ được phát hiệu như là
Trang 17ỘTìm tất cả con sông giao với 1 doi trong troy van"
Kicu SOL khong gian sau do sé la:
select name from River where route intersects pick;
Thude tinh giao không gian tương ứng quan hệ hình học tôpô giao Như vậy những thuộc tỉnh không gian có thê tắch hợp với l hệ thong cơ sử dữ liệu như những thao tác người dùng định nghĩa (trường hợp của SỘL 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 ning gor:
select name from River where intersects(route, pick);
Piek từ 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 có mặt
coal) GUI,
Nhiều truy vấn phức tạp sẽ nói 2 quan hệ trên các thuộc tắnh không gian của chúng
sử dụng l điều kiện hình học tôpỏ:
"Xác định những con sỏng nào tạo thành đường biển không gian của thành phỏ vả liệt kẻ tên của chủng vả đường khung chung của chúngỢ
[Điệu này chuyên qua SỢI không gian là:
selecf r.namc c.namc intersection(boundary(r.route), boundary(c.areu)) as common boundary
from River r Cities ằ where C.area meet r.route
ở đây intersection và boundary là những thao tác không gian trả về cae doi wong
Trang 182.3 Lọc truy vấn bằng giới hạn hình chữ nhật nhỏ nhất
Dữ liệu không gian có thẻ là đổi tượng cua ký thuật chỉ mục Truy vấn không gian va noi khong gian đưa trên chi mục R-tree sử dụng:
Sự xắp xắ cho việc trình bảy của giá trị SDI va
Chiến lược lọc và tinh 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 không gian [Clem94] Cấu 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
xap 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 cac doi tượng dap img các thuộc tắnh không gian Diễu này dược thực hiện bởi việc gứi xấp xỉ (MBRs) nhu 1a 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) vả phức tap (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 vẫn đầu tiên
sẽ xác định mỗi quan hệ giữa các MB cua 2 đỏi tượng Sau đó nó sẽ sử dụng ánh
xạ trong bảng 2 vả 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à sai, Vắ dụ nêu 2 MBRs meet có nghĩa là giá trị thực tế hoặc là rời nhau hoặc chúng Imvet,
Trang 19MIHR Relation l xac({ Geornciry Relation dispount disjoint
meet disjomt v meet
overlap disjoint v meet v overlap
inside disyount v meet v overlap v inside v coveredBy coveredBy disjout v meet v overlap Ừ coveredBy
contains disjoint v meet v overlap v contams v covers
covers dissount v meet 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 bảng 2, Clementini et all |Clem94] khang dinh điều là ! quan hệ MBR ỘcoveredByỢ cé thé anh xa toi | quan hé hình học chắnh xác ỘinsideỢ, Tuy nhién, ching ta tim thấy điều mà ảnh xạ đó không thẻ năm giữ
That vay Neu | MBR A 1a covered boi 1 MBR B (tức là | coverdBy B), thi tir bảng | sẽ có: 248B =l Diễu nảy có nghĩa là có sự tồn tai | canh | cua A ma hoan toan
trong L | cạnh của l3 (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à đổi tượng được giới han boi B va @ trong ử thì từ bảng l có: Ả9ểđử <0 Trong khi các MBR là kắn, có nghĩa là @4al=! Cho p la 1 diém thea: peda va pel Vila trong L, sé c6
pel Cing co pea va a Gtrong ử vì vậy pe /
Néu peep thi pe f" Nhung pel cho nén BOB =) thi mau thuan véi viéc B
là MBR của ặ Do dé pees Nhung peda cho nén A448 =}, thi mau thudn voi via thidt @ atrong f
Clementini all [Clem94] cũng dã không nghĩ có thẻ 2 MBR có thé bang nhau khi các đòi tượng giới hạn của chung meet Sy that doi vai tinh hudng nay thật sự lả có thẻ dược mình họa với sự giúp đỡ của vắ dụ đơn gian được mô tả trong hình 4
Trang 20Ị7-Hình 4: các MBR bằng nhau và các đối tượng không gian meet
Mot kiéu khác của truy vấn yêu cầu đối tượng thỏa | quan hé hinh hoc topo nào đó
đổi với | đói tượng tham chiếu cho trước Bước lọc bảy giờ sẽ sư dung đảo ngược
ánh xu ở trên (bang 3) như là 1 cách lọc, để xác định Ì tập hợp 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 đói tượng được lưu
trữ tron các entry ở trong các nút lá cua cay Nhimeg entry o trong nut 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 cưa cúc truy van
được cho có thẻ gdm 4 bude xử lý sau [Pape95]: [inh toán MBR của dỏi tượng tham chiếu
Tim các quan hệ hình học tôpô mả 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 1 Vị dụ: nẻu thuộc tỉnh chọn là coxers thắ các điều kiện MBR sẽ hoặc lả contain cover hoặc lá cquai
với MHR cua bước | (xem bang 3)
l3ảt đâu từ núi 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 MIBR má thoa mãn quan he hinh hoe topo dượ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à hước tắnh lọc cho việc phục hỏi các MI3R
Trang 21wera XMIRR Relation (eometr*x Relation disjoint disjoint Ừ meet v 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 inside 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 223 KD-TREE
3.1 Giới thiệu
Pau 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ẻ dược thông dịch vẻ phương diện hình học Đề làm điều này chúng ta ảnh xạ các mẫu tìn 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 | co so đữ liệu quản lý con người [rong Ì cơ 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 tir nam 1950 đến năm 1955 ma co thu nhap tu $3,000 dén $4,000 trong |
thang Dé lam thanh cong thire day 1a | van dé hinh hoe ching ta hinh dung moi
nhan vien la 1 dicằm trong mat phang [oa dé dau tién cia diém 1 ngay sinh duge
cho bơi số nguyên như sau:
10.00 ề teứr + LUO x 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ữ thong tin khac ma chung ta có vẻ nhan viên như là tên va dia chi Mot truy van co sở đữ liệu yêu cầu thông tin của tất cả nhân viên sinh từ năm 1950 đến 1955 và có
thu nhập tử $3.000 đến $4.000 ánh xạ thành truy vẫn hình học như sau: báo cáo tắt cả các điểm mà có tọa đô dâu tiền nắm trong đoạn từ 19,500,000 đến 19,559,999 và
có tọa độ thứ 2 năm trong doạn từ 3.000 đến 4.000, Nói cách khác chúng ta muôn bảo cáo tat cả những dicm o ben trony 1 hình chữ nhật truy vần song song với trục
xem hình 4
Trang 23-W-Tién hrong ẹ G Ometer ồ ồ 19/08/1954 $3,500 4ử 8 of i ệ e Je ồ ồ ồ 3000 | Ợ -' e +9 Ộ t ' 2 ee: @: : y a = be 3 ' ; 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 điện hình học
Neu ching ta cing muôn có thông tỉn 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 nhập từ S3.000 đến $4.000 trong | thang va co tir
Trang 24Nhin chung neu chúng ta quan tâm trả lời truy vẫn trên d trường của các mẫu tin
trong cơ xơ dữ 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 cá các mau tin má các trường của nỏ
năm 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 I hộp song song trục có kắch thước ở chiều Như vậy I truy văn được gọi là | truy vấn phạm vắ hình chữ nhật hoặc L truy vẫn nhạm
vỉ trực giao trong hinh 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 vin nay
3.2 KD-Tree
Bay 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
la | tap hợp n điểm trong mặt phãng Trong phản còn lại cua mục nảy chúng ta giả
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 te dặc biệt không thực tế nếu những điểm này dại diện cho các nhân viên vả các tọa độ là những thử giống như tiên lương hoặc sd lượng con cái Tuy nhiên giới hạn này có thẻ dược khac 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 vi hình chữ nhật kắch thước 2 chiều trên P vẻ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,.Ợ, }
nấm bên trong hình chữ nhật nảy nếu và chi néu:
p,e[x:x'] và p, e[r: Ừ]
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
vấn con kắch thước 1 chiều, Í truy văn trên tọa độ-x và Í truy vần trên toa độ-y của
Trang 25TU cose Py TT "Ở) P Ữ aN * ' x Pp X Hinh 7:
Trong trường hợp cảu trúc dit ligu cho truy van pham vi kich thude | 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 đại thể bằng nhau: | tập chứa những điểm nhỏ hơm hoặc bằng giá trị 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 cay con
Trong trường hợp 3 chiêu mỗi điểm có 2 giá trị quan trọng: toạ độ x vả v của nó Do đó đầu tiền chủng ta chia trên tọa độ x, tiếp theo trên toa doy sau do thi lap 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 tấp 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 đường chia, dược lưu trừ trong cây con bẻn trái và PzẤ 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 trai cla con bên trái cua nó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 cua nó lưu trừ đường chia lương tự, tập PaẤẤ được chia bằng đường nằm ngàng 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úc O nut cháu của góc chủng ta chia lap lại với đường thăng đứng Nhìn chung chúng ta chia bằng đường thăng dứng ở nút có chiều sâu là chấn và chúng ta chìa báng đường năm
Trang 26ngang ở nút có chiều sảu là le Hinh 8 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 là kd-tree l5 Đá I2 18 Pi HH 9s ệ @ e ệ ệ Pụn đc ệ 2 ai ồ , Ừ ồ l b- _Ở I2 Hình 9:
Khởi dâu tên viết tắt cua cấy 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 không 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
Chúng tà có the xảv dưng mọt kd-tree với thú tục đệ quy được mô ta ơ phắa duc
Ổ , Ề - * - 4 - Ộ9ồ Ẽ ` ~ Ổ
Thu tue nay co 2 tham so: | tạp hợp các diém va | số nguyên Tham so dau tien là
a ồ : * 2 Ẽ * * = Ổ
Trang 27dé quy goi để xây dựng Tham số chiều sâu là zero {0} ở lần 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 tại depth Xuất: gốc của kd-tree lưu trữ P,
if P chỉ chứa l điểm then
else
return nút lá lưu trữ điểm này
if nêu depth là chăn 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 bang | dudmg nam ngang | xuyén qua tọa độ y trung tâm của các điểm trong P Pạ là tập hợp các điểm bên đưới
hoặc ở trên I và PỈ là tập hợp các điểm ở phắa trên | Vựa = BUÍLDKDTREE(P) depth+ Ì )
VagẤ ẹ BUILDKDTREI(Ps depth: 1)
Tao | nut v fu tnt lam cho Vj.4 la con ben trai cua v va lam cho Vu la con bén phai cua v
return v
Trang 28thir | >] [Điều nảy có nghĩa là trung tâm của 2 giá trị là | gia tri nho hon ma bao dam răng thuật toán két thúc
[rước khi chúng ta đẻn với thuật toán truy vấn hãy phản tắch thời gian xây dựng
mot 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 dé tim dường chia Đâ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 tìm 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 can tot hom 1a sap xếp trước tập hợp cúc điểm cá trên tọa độ x và y Bây giờ tham sỏ tập hợp P được truyền cho tha
tục ơ dạng 2 danh sách đã sắp xếp, l dạng 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ó thì để dé tìm trung bình tọa đỏ x (khi chiều sau 14 chin)
hoặc trung bình tọa độ y (khi chiều sảu là lẻ) trong thời gian tuy én tinh No thì cũng dễ đề 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 tinh tir cae danh sách đã cho, Do đó, thời gian xây dựng 1(n) thỏa mãn truy hỏi:
7 441) final
v @n+37([n/3 || n>I
má giải ra được @J(nlopn) Giới hạn này đã gộp thời gian nà chúng ta tiều phắ cho việc sap xép trước những điểm theo tọa độ x và v
Đẻ 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 vị | kd-tree là ỉ cây nhị phân vả mỗi nút lả và nút bên trong sử dụng O(1) lưu trừ, điều nà ám chỉ tông lượng lưu trữ là Cn) Dicu nay dan dén bé dé sau
Ba de 1:
Trang 29Bay giờ chúng tạ quay trở lại thuật toán truy vấn Đường chia dược lưu trữ o nit
gốc chia mắt phẳng thành 2 nưa mặt phẩng, Những điểm ơ trong nua 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 trai cua gốc tương ime voi nwa mat phang bén trai va con bên phải tương ứng với nữa mái phẳng bén
phai (quy ước được su dung 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 trái là đóng ơ bén phải và
nưa mặt phang phai là mơ ở bẻn trái) Những nút khác trong một kd-tree tương ứng
voi | mien cua mặt phàng cũng giống như vậy Con bên trái cua con bén trai 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 dượ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ị giới hạn bơi các dường chia dược
lưu trữ ơ tỏ tiến cua Ở xem hình sau,
Hinh 10: twong ứng giữa các nút trong kd-tree và các miễn trong mặt phẳng Chúng ta kắ hiệu miền tương ứng với Ì nút v là rcgion(v) Miễn cua nút eóc củi kd-tree thi dom eiản lạ toàn bộ mặt phẳng Quan sát | điểm dược lưu trừ trong woe cud cay Con o nuts acu và chị nẻu nó năm trong region(v) Vắ dụ cấy con của núi trong hình 10 lưu trừ những diểm là các chăm den Do do chung ta phat tim góc cua
Trang 30cay con o nut v vin đ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 đi ngang qua kd-tree nhưng chị vieng thăm những nut ma 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
khỏng? Nếu cỏ thì báo cáo nó Hình !Í mình họa thuật toán truy vấn (chú ý rằng kd-trec trong hình 11 không thẻ dược xây dựng từ thuật toán BUH.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 dược
việng thăm khi chúng ta truy văn bả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 2o đó góc của cảy
con mảu đen ở nút nảy được đi ngang qua vả tất cả những điể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ó | 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 31Hình II: một truy vấn 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
so la: gdc cha 1 kd-tree va phạm vì truy vấn R Nó sử 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 l cây con) và | 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 SEARCHKDTREI(1c(v) R) lf region(rc(v)) hoàn toàn dược chứa trong R then REPORTSUBTRLI(rc(v)) elÌse if rceion(lc(v)}) giao với R then SEARCHKDTRI:E(lc(v ) R)
IPhản chắnh kiêm tra thực hiện của thuật toán tru van la pham vi truy van R giao với miền tương ứng là một vải nút v Đẻ có thẻ thực hiện việc kiểm tra nảy chúng ta co he tỉnh toán region(v} cho tắt ca các nút trong giải đoạn xử lý trước và lưu trừ
nó 1hưng điều này thì không căn thiết chúng ta có thê duy trì miền hiện tại khắp
Trang 32tươ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ừ
region(s ) nhur sau: regian( Ic ( v)) = region{ v)Ộ/ (x _ bef Trong đó l(v ) là đường chia được lưu trữ ở nút v va fv)" la nua mat phang ben trai va bao gom ca l(v) I) itv) region(v) Hình 12:
Quan sat 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 vẫn nảo khác cũng
được,
Bảy giờ chúng ta phân tắch thời gian | truy vẫn với phạm vắ hình chữ nhật Bo de 2:
Mot truy van với | hinh chữ nhật song song trục trong | kd-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 được bảo cáo
Chung minh:
Trang 33REPORTSUBTREE la O(4), với k là tổng số điểm được báo cáo, Nó củn giới han
số lượng nút bị việng thắm bơi thuật toán truy vấn không là các cảy con được đi ngang qua (Day là các nút màu xám trong hình 7) Với mỗi nút v phạm vắ truy van giau thắch hợp region(y) do la region(ầ) bi giao nhưng khơng hồn tồ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 vì truy van giao region(v) Dé phan tắch số lượng nút như vậy chúng ta sẽ giới hạn sỏ lượng các
mien bị giao bởi đường tháng đứng Điều này sẽ cho chúng ta Ì 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 vi truy vẫn có
thẻ được giới hạn cùng cách đó
Cho l là đường thăng đứng và T là 1 kd-tree /(roụr(7)) là dườ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 cua [(roụr(7 )) hoặc là miền hẻn phải cưa /(roor(7)) nhưng không là cá 2 Quan sát nảy dưa dẻn @(n) là 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) =14+ (z3) Nhưng điều nảy thì không dúng bởi vì dưỡng chia nắm ở núL con cua góc Điều này có nghĩa là nẻu đường thang | giao (vi dy) region(lc(root(7))) thi nd sé ludn luôn giao các miền tương ứng là tắt ca các con của fe(ree(7)) Do đó trạng thái đệ quy này chúng ta sẽ không giỏng như tình
hudng ban dau va 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 con phái chứa đường chắa thắng đứng Điều này dẫn dắt chúng ta định
nghĩa lại Gtr là số lượng cúc mien bi giao trong Ì kd-tree lưu trừ n điềm mà núi góc cuu nó chứa đường chắa tháng đứng Để viết công thức truy hỏi (Xụ) bay giờ chúng ta phú: đi xuong 3 bậc trong cây Mỗi nút trong +4 nút ơ chiều xảu 2 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 đa
Trang 34chúng ta phải đếm số lượng miện hi giao Tuy nhiên Ì giao miền của gốc va | trong cúc con của nó Do đó Q01) thoa mắn công thức truy hỏi:
Oil) ifn=l
O(n): 3+3((n/4) ifa>l
Hinh 13:
Công thức truy hỏi này giai ru dược QO{(n)= O(ýn ) Nói cách khác bất kì đường
thăng dứng nảo giao @{ VÌ} miền trong | kd-tree Trong cùng hưởng tương tự này
có thẻ chứng minh rằng 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 đường biện cua phạm vị truy vẫn hình chữ nhật cũng được
giới hạn bởi (J{ vin)
(đpcm) Phân tắch thời gian truy vẫn, chúng tà đã đưa ra ở trên thi kha bắ quan: chúng ta dã 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ó, Trong 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] truà vấn nảy thực tẻ hoi điểm (X.Y) có ở trong tập hợp không thời gian truy vấn bị giới hạn bơi (2o ụ)
Trang 35Mot kd-tree của ] tập P gom n diém trong mặt phẳng sư dụng (2(z) lưu trữ và có thể được xây dựng trong thời gian @(mlogz} Phạm vắ hình chữ nhật truy vấn trên kd- trcc trong thời gian O{ Jn+k 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ơm Thuật toán xây dựng thì cũng rất giong như trường hợp của mặt
pháng (2 chiều): ở nút gốc, chúng ta chia tập hợp điểm thành 2 tập con đại thể cùng
kắch thước bởi l siêu phăng vuông góc với trục +, Nói cách khác ở nút gốc tập
hợp điểm được chia dự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 tọa độ thử 3 vả vân vân
cho tới chiều sâu d-1 chúng ta chia trén toa độ đứng cuối củng Ở chiều sâu d chủng ta sẽ quay lại chia trên tọa độ đầu tiên Việc đệ quy dừ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 | tap gồm n điểm
la | cây nhị phân với n nút lá, nó sử dụng ẹ1(Ừ} lưu trữ Thời gian xây dựng lả
(0(slog n) (như thường lệ chúng ta giá thiệt d 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
Lhuậ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 O{ụ! ỢỘ +}
3.3 Phát sinh tập hợp điểm
loi bay gid chang ta dA dp 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àng sửa chữa Điều nhận thấy cốt yêu là chúng tạ không bao giờ gắa thiết các giá trị tọa độ là các số thực Chúng ta chỉ cần chúng màng dén toán bộ vạn vật có thứ tự để chúng ta có thê
so sanh bat kì 2 tọa độ và tắnh toán giả trị trung hình Do đó chúng ta có thể sử dụng
Trang 36Ching 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ư dụng thử tự từ điển học cho nên, với 2 số phức (Ư|Ừ) vả (ụ |h } chủng ta co:
{alhb)<(a[b) < a<a or (asa undh<h)
Bây giờ chúng ta giả thiết, chúng ta có tập P gồm n điểm trong mat phang Nhing
điểm này là rời nhau, nhưng có nhiều điểm có thé co cing toa dé x hoặc y Chúng ta thay thé moi diém p=(p,.p,) boi 1 điểm mới p:={(p, 1p }-(, |, )) có các số
phức lả các giá trị tọa độ Với hướng này chúng ta thu dược Ì tập hợp mới ? của n
điển Toạ độ đầu tiên của bất kì 2 điểm trong #? là khác nhau: điều này cũng ding
với toa dộ 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 su bay gid chang ta muốn báo cáo những diém những diễm của P nằm trong phạm vị #-= E `: l*[ 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 vi 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:=[(x|-s):{x (+z} |x[ (| -#}:|# | +x}
No vin chứng tỏ cách tiếp can cua chúng ta là đúng: những diểm của ? mà chúng 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 nam trong R
Trang 37Cho p là 1 điểm và R là phạm vắ hình chữ nhật thì:
p<sR Ủ perR
Chứng mình:
Cho &:= [x: t ]ỘÍr: Y ] va :=(p,.p,} Từ định nghĩa: p nam trong R neu va chi
neu; oxSp.sv và ysp.<sy Điều này thì tương dương với
(xI=z}<(p,Ip,}<*(vI+ez} và (yI-ệ)<(p,Ip,}<{y Lee) dây chắnh là tương
đương với nắm trong #
(đpcm)
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 thấy không thật sự cần thiết lưu trữ những
diém bien doi: ching ta có thê lưu trừ điểm ban đầu được cung cấp cho chúng ta so
sánh giữa 2 tọa dò x hoặc 2 tọa độ y trong không gian phức
Trang 384 R-Tree va Bién thé R*-tree
Chỉ mục không gian mong đợi cung cấp phương phap hiéu qua cho viée thao tac 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 dữ liệu kắch thước một chiều Do dé ching 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ó l nhú câu vẻ những
câu 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 không gian trong chương 2 gồm có một dãy của 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 đắt (expensive) Do đó trong trường hợp lượng lớn dữ liệu việc tìm kiểm
het mọi khắa cạnh mà viêng 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à cầu trúc dữ liệu quan trọng nhát cho
những hình chữ nhật chỉ mục Mục 4.1 được dành cho kiểu của R-tree mả được
thiết kế bởi Antonin Guttman [Guuậ4] Những mục tiếp theo sẽ tiếp tục với trình bay | cai tiến kiểu cầu trúc dữ liệu nảy: R*-tree trong mục 4.2
4.1 Cấu trúc R-tree
R-tree [Gutt84| là cáu trúc dữ liệu dạng cây tương tự B-tree Mục đắch chắnh cua | R-tee lả tô chức dữ liệu không gian theo cách má sự tìm kiểm sẽ đến thâm xái 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út nào đề đế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 đữ Hiệu trẻn tật ca các nút
Trang 39Nút lá chứa đựng những record entry chi muc o dane: (f.cid)
Trong do | 14 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ở dữ liệu mà chứa đổi tượng thật sự Nút không là nút lá chứa record chỉ mục uo dang:
(/.<p)
Trong đó I là MBR của tất cả các hình chữ nhật có mật trong cdc entry của nút con ơ mức thấp hơn được trỏ tới bởi ep 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à ắt
nhất là m entry, von 2<m< M/2 Tham so m có thẻ được xác định dựa vào cơ sơ 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 đến M record chỉ mục nẻu nó không 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ó ắt 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)
Một R-tree mà N dói tượng không gian chỉ mục có số nút lớn nhất là:
XN NA
Vmax =| |+| +]
mn 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 enty Vị có N record chắ mục điều này có nghĩa là trường hợp xấ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 :m la
Ngay lặp tức mức ở trén mức lá có cae nut chum entry, Tat cả những nút nảy ơ cup nay có các con là V ớ lá, Do do o cap nay có:
Trang 40T?7-Ver 21= | nuit, va Van văn, tới mức nút gốc chỉ chứa | nit Do do ta c6 phuong trinh (1) ngay N me (1) "| lập tức Chiều cao cua cây nảy (N đôi tượng không gian chỉ mục) tỏi da là // max với: H max =| log, N|-1 (2)
Đây là sự chứng mình theo sau từ phương trình (L) Mức dấu tiên sau gốc có chắnh
xác m nut Nhung tir (1), cling mire này có (* im | Do do,
X
f2 mạt
1 men + Í
|=Ợ = Nom = H max =| log, |-1
| R-tree dựa trên chắ mục thì động hoàn toản (completels dvnamic) trong suy nghĩ mà nó cho phép tìm kiếm và cập nhật cùng thời gian Ngoài ra không có sự tô chức
lai tuan hodn (periodic reorganization) nao due yéu cau
Vị dụ tiều biểu nhất của việc tìm kiếm là nơi mả người dùng hỏi vẻ tat cả đối tượng chóng lắp Ì miền nào đó Vị các MBR được lưu trừ trong cntry chỉ mục được cho
phép chủng lắp, R-tree không thể bảo đam chỉ Ì dườ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
chung trong | hudmg ma sé cực tiêu hóa số lượng cưa các đường dẫn cản thiết trong
vice giải quyết bải toán tìm kiếm
lây giờ chúng tạ sẽ mỏ tả thuật toán với những thao tắc chắnh má có thê được thực
hiện trên | R-tree Trinh bay 14 mau ty do va sé c6 ging gidi thắch nguyên lý đăng
sau thuật toản Cũng như vài vấn để tiêm năng Những vắ dụ ngăn sẽ mình họa sự
tim kiêm và xây dung | R-tree Tìm kiểm