Các truy vấn liên quan đến khoảng cách 34

Một phần của tài liệu Tính toán xấp xỉ với các truy vấn liên quan đến khoảng cách trong cơ sở dữ liệu không gian (Trang 34)

Các chức năng liên quan đến khoảng cách tiêu biểu đều dựa trên khoảng cách tính theo hệ mét ( thỏa mãn các thuộc tính về tính chất không phủ định, tính đồng nhất, tính đối xứng và bất đẳng thức tam giác) đã xác định trên các điểm trong không gian.

Hệ đo theo khoảng cách chung được gọi là Lt – khoảng cách Lt, hệ đo Lt hoặc khoảng cách Minkowski[1] giữa hai điểm: P = (p1, p2, …, pd) và q = (q1, q2, …, qd) trong không gian thứ nguyên, Rd và được định nghĩa dưới đây:

Với t = 1, ta thu được hệ khoảng cách Manhattan. Với t = 2, ta có được hệ khoảng cách Euclidean.

Đây là hai hệ khoảng cách được biết đến nhiều nhất của hệđo Lt trong nội dung CSDL không gian. Khoảng cách Euclidean thường được sử dụng như chức năng riêng biệt trong tính toán khoảng cách tuy nhiên phụ thuộc vào ứng dụng thực tế mà các hệ khoảng cách khác có thể hiệu quả hơn.

Trong các ứng dụng về CSDL không gian, hệ đo khoảng cách được sử dụng trong rất nhiều dạng của các truy vấn CSDL.

Ví dụ minh họa các truy vấn liên quan đến khoảng cách

Để minh họa các truy vấn liên quan đến khoảng cách trong CSDL không gian, dưới đây đề tài nghiên cứu và tham khảo xây dựng vắn tắt CSDL Benchmark[2]: CSDL xây dựng phục vụ cho việc quản lý dữ liệu và truy xuất, xử lý các truy vấn trong dịch vụ liên quan đến định vị vị trí địa lý của đối tượng (Location-based Queries) ứng dụng trong các phương tiện trợ giúp cá nhân – PDA với chức năng tìm đường và xác định vị trí của người sử dụng dựa trên thiết bịđịnh vị và các dữ liệu thông tin địa lý.

Mô tả các thực thể, thuộc tính và mối quan hệ giữa các thuộc tính thông qua mô hình dữ liệu quan niệm:

Giả sử với người dùng sử dụng thiết bị di động cài đặt chương trình quản lý và tìm đường trong một khu vực nhất định thông qua bản đồ và tín hiệu định vị ví trí hiện tại của họ.

Hình 14: Mô hình dữ liệu quan hệ xây dựng dựa trên Benchmark database Các thực thể ™ Human – người sử dụng Thuộc tính Tính chất Ghi chú Id Khóa chính Route Lộ trình đường đi đã định sẵn của người dùng Interests Thuộc tính đa trị Request Thuộc tính đa trị Lưu trữ thông tin về sở thích của người dùng hoặc các yêu cầu gần nhất. ™ Road Thuộc tính Tính chất Ghi chú Id Khóa chính Shape Lưu trữ hình dạng (đa giác) và thời

gian đã đi qua-Pass các tuyến đường hoặc thăm-Visit các tòa nhà.

Thuộc tính Tính chất Ghi chú

Id Khóa chính

Location Lưu trữ vị trí các tòa nhà, các shop và

thời gian di chuyển ™ Shop Thuộc tính Tính chất Id Khóa chính Location Offer Thuộc tính đa trị ™ Other

Thuộc tính tập hợp nhiều giá trị bao gồm các thông tin như tên sản phẩm, thông tin về thời gian đáp ứng yêu cầu hợp lệ.

Thuộc tính Tính chất

Id Khóa chính

Location Type

Một số truy vấn liên quan đến khoảng cách tiêu biểu được sử dụng khá phổ biến trong hệ thống CSDL không gian. Với mỗi loại truy vấn sẽ đưa ra ví dụ ứng dụng một truy vấn cụ thể dựa trên CSDL Benchmark đã trình bày ở trên. Giả sử với người sử dụng có Id = 20 (Human.id = 20)

1.1 Truy vấn khu vực theo khoảng cách δ

Truy vấn khu vực theo khoảng cách δ - δ-distance range query: Truy vấn dạng này bao gồm một tập dữ liệu không gian, điểm truy vấn và giới hạn

khoảng cách δ. Kết quả đưa ra là một tập các đối tượng không gian từ tập dữ liệu đầu vào nằm trong vùng giới hạn một khoảng cách là δ tính từ điểm truy vấn (query point).

Truy vấn 1: Tìm các shop nằm trong khoảng bán kính 500m tính từ vị trí tôi đang đứng có bán quần áo thể thao.

Sử dụng hàm giới hạn khoảng cách tìm kiếm trong khoảng 500m với vị trí hiện thời làm tâm là Circle (curr_space(), δ)

SELECT Shop.id, Offer.id, Offer.info FROM Human, Shop, Offer

WHERE Offer.infor = `sportwear`

AND Offer.shop_id = Shop.id AND Human.id = 20

AND Shop.Location INSIDE Circle (curr_space(Human.route), 500) ;

Với δ = 500 (m).

Hàm Circle(point reference, number K): Đường tròn được định nghĩa bởi tâm là điểm tham chiếu cho trước và bán kính bằng K.

Hàm Curr_space (point reference): Hàm toán tử trả về giá trị khả dụng trong thời điểm hiện tại như giá trị lần cập nhật cuối cùng, thông tin gần nhất về điểm truy vấn, ởđây hàm Curr_space() sử dụng như hàm trả về thông tin vị trí tại thời điểm truy cập của người dùng.

1.2 Truy vấn K vùng lân cận gần nhất

Truy vấn K vùng lân cận gần nhất - K nearest neighbour query (K- NNQs): K-NNQs bao gồm một tập dữ liệu không gian và một điểm truy vấn. Nó tìm ra K đối tượng riêng biệt từ tập dữ liệu đầu vào và lần lượt có các khoảng cách nhỏ nhất tính từđiểm truy vấn.

Ví dụ một truy vấn dạng K-NNQ trong CSDL Benchmark:

Truy vấn 2: Tìm hai nhà hàng gần nhất (giả thiết với Other.type = 1) tính từ khu vực hiện tại tôi đang đứng ( với giá trị Human.Id = 20)

SELECT Other.id FROM Human, Other

WHERE Other.type = 1 AND Human.Id = 20

ORDER BY Spatial_Neighbour (Other.Location, curr_space (Human.Route) ) ASC = 2;

Trong trường hợp này K = 2.

Chú ý

™ Với câu lệnh SQL: ORDER BY Spatial_Neighbour (Other.Location, curr_space (Human.Route) ) ASC = 2;

™ Hàm Spatial_Neighbour (attribute, reference) được sử dụng để biểu diễn truy vấn dạng K-NN giữa các thuộc tính. Kết quả trả về được sắp xếp theo quy tắc tăng dần (ởđây là khoảng cách giữa người dùng và nhà hàng).

1.3 Truy vấn nối các khu vực theo khoảng cách δ (truy vấn đệm)

Truy vấn nối các khu vực theo khoảng cách δ (truy vấn đệm) - δ– distance range join query: Truy vấn trên bao gồm hai tập dữ liệu không gian và giới hạn khoảng cách δ. Kết quả trả về là một tập các cặp đối tượng không gian từ hai tập dữ liệu đầu vào, nằm trong giới hạn khoảng cách δ tính từ mỗi đối tượng.

1.4 Phép nối khoảng cách Iceberg

Phép nối khoảng cách Iceberg - Iceberg distance join: Bao gồm hai tập dữ liệu không gian, giới hạn khoảng cách δ và số yếu tố ngưỡng K. Kết quả trả về là một tập các cặp đối tượng từ hai tập dữ liệu đầu vào, nằm trong phạm vi khoảng cách δ từ mỗi đối tượng, quy định rằng đối tượng đầu tiên xuất hiện ít nhất K lần trong kết quả của phép nối.

1.5 Truy vấn K cặp đối tượng gần nhất

Truy vấn K cặp đối tượng gần nhất - K closet pair query (K-CPQ): Bao gồm hai tập dữ liệu không gian và số yếu tố ngưỡng K. Nó tìm kiếm K cặp đối tượng riêng biệt từ hai tập dữ liệu đầu vào và có khoảng cách nhỏ nhất

giữa chúng là K.

Truy vấn 3: Tìm năm shop gần nhất tính từ khu vực tôi đang đứng có bán giày dép đã được lưu trong mục Interest của người sử dụng.

SELECT Human.id, Shop.id, Offer.id FROM Human, Shop, Offer

WHERE `shoes` in Human.Interests AND Offer.Info = `shoes` AND Offer.Shop_id = Shop.id

ORDER BY All_Spatial_Neighbour_Pairs

(Shop.Location, curr_space (Human.route)) ASC 5;

Với K = 5.

Chú ý:

™ Tương tự như với câu truy vấn dạng K-NN, câu lệnh SQL:

ORDER BY All_Spatial_Neighbour_Pairs(Shop.Location, curr_space (Human.route)) ASC 5;

Cũng được sử dụng để biểu diễn các truy vấn dạng K-CP

1.6 Nối K vùng lân cận gần nhất

Nối K vùng lân cận gần nhất - K nearest neighbour join: Bao gồm hai tập dữ liệu không gian và số yếu tố ngưỡng K. Kết quả trả về là tập các cặp đối tượng từ hai tập dữ liệu đầu vào thỏa mãn, với mỗi đối tượng của tập dữ liệu đầu tiên, một cặp được tạo thành với mỗi K vùng lân cận gần nhất của nó trong tập dữ liệu thứ hai.

1.7 Truy vấn K- nối khoảng cách

Truy vấn K- nối khoảng cách - K-Multi-way distance join query: Một truy vấn theo dạng này bao gồm n tập dữ liệu không gian, một đồ thị truy vấn (là một đồ thị định hướng có trọng số định nghĩa hành trình có hướng giữa n tập dữ liệu đầu vào) và số yếu tố ngưỡng K. Kết quả trả về là một tập bao gồm K bộ dữ liệu riêng biệt, mỗi bộ có n đối tượng – n-tuples ( bộ dữ liệu chứa n đối

tượng từ n tập dữ liệu thỏa mãn biểu đồ truy vấn). với K giá trị Ddistance nhỏ nhất (Hàm Ddistance là một hàm bậc nhất về khoảng cách với n đối tượng tạo nên n-bộ dữ liệu, chiếu theo các cạnh của đồ thị truy vấn ban đầu).

Kết lun

Các truy vấn liên quan đến khoảng cách trong CSDL không gian rất hữu ích trong nhiều ứng dụng sử dụng dữ liệu không gian cho việc lập quyết định và nhiều phép toán yêu cầu xừ lý dữ liệu khác. Ví dụ trong trường hợp sử dụng truy vấn cặp gần nhất – K-CPQ, tập dữ liệu đầu tiên có thể biểu diễn các ranh giới về văn hóa của Mỹ, trong khi tập dữ liệu thứ hai có thể bao gồm những địa danh nổi tiếng nhất tại Bắc Mỹ. Kết quả trả về cho loại truy vấn này sẽ bao gồm K cặp gần nhất các thành phố và vùng văn hóa, nó cung cấp một trình tự cho các nhà tổ chức để sắp xếp được lịch trình du lịch hợp lý trong các chuyến tham quan của du khách... Giá trị K ở đây có thể phụ thuộc vào ngân sách mà nhà tổ chức dựđịnh chi trả cho mục đích sử dụng này.

Trong giới hạn nghiên cứ của đề tài, chúng ta sẽ chú trọng tìm hiểu hai loại truy vấn là K-NNQ và K-CPQ, qua đó nắm được cách thiết kế các thuật toán xấp xỉ trong các truy vấn liên quan đến khoảng cách.

Hình dưới minh họa một tập các điểm trong không gian hai chiều được tổ chức theo cấu trúc R-tree (MBR-based index – Minimum bounding Rectangle-

based index -phương pháp đánh chỉ mục dựa trên khung giới hạn nhỏ nhất),

mục đích là tìm ba vùng lân cận gần nhất (K = 3 Ù 3-NNQ) với điểm truy vấn q. Dễ thấy kết quả của phép truy vấn 3-NNQ là (p11, p8, p4)

Hình 15: R-Tree và MBRs trong truy vấn

Với ví dụ minh họa dưới đây, ta xét với hai tập điểm 2 chiều khác nhau (tổ chức theo cấu trúc R-Tree, một tập dữ liệu được thể hiện với MBR không tô màu, tập còn lại được thể hiện theo cấu trúc MBR chia sẻ). Nếu ta muốn bao gồm 3 cặp điểm gần nhất (3-CPs) từ hai tập dữ liệu trên thì thu được kết quả là ((p8, q8), (p11, q10), (p4, q6))

Hình 16: R-Tree và truy vấn trong hai cấu trúc MBR khác nhau 2 R – Tree

Kỹ thuật Phân nhánh-và-giới hạn (branch-and-bound) đang là một kỹ thuật thành công nhất sử dụng trong việc thiết kế các thuật toán giải quyết các câu hỏi của ngôn ngữ truy vấn trên cấu trúc dạng cây. Hàm chức năng giới

hạn thấp hơn và giới hạn cao hơn là nền tảng cơ bản của hiệu năng tính toán trong thuật toán phân nhánh-và-giới hạn. Kỹ thuật giả định cơ bản sử dụng trong các thuật toán truy vấn khoảng cách là các tập dữ liệu không gian được đánh chỉ mục bởi cấu trúc của họ R-Tree. R-Tree và các biến thể của nó được đánh giá là sự lựa chọn hoàn hảo trong việc đánh chỉ mục cho rất nhiều loại dữ liệu không gian (điểm, đoạn thẳng, hình chữ nhật, đa giác…) và vẫn đang được tiếp tục phát triển trong các hệ thống thương mại như Informix và Oracle.

2.1 Khái niệm

R-Tree là các cấu trúc cây dữ liệu sử dụng cho dữ liệu không gian đa chiều, có tính chất cân bằng độ cao và có thứ tự, được thiết kế cho thiết bị lưu trữ thứ cấp, và là sự tổng quát hóa của B-tree[3] cho các không gian dữ liệu đa chiều. Chúng được sử dụng để tổ chức động các đối tượng trong không gian d chiều được biểu diễn bởi Đường biên d-chiều tối thiểu (Minimum Bounding d-dimentional hyper-Rectangle – MBR – hoặc khung giới hạn d-chiều nhỏ nhất). Một MBR được xác định bởi hai điểm trong không gian d chiều thuộc bề mặt của nó, một điểm là tọa độ d nhỏ nhất và một điểm là tọa độ d lớn nhất (chúng là các điểm kết thúc của các đường chéo thuộc MBR). Một nút trong cây R-Tree tương ứng với MBR bao gồm cả các nút con của nó. Các lá của cây bao gồm nhiều con trỏ trỏđến các đối tượng của CSDL thay vì các con trỏ trỏđến các nút con. Các nút được xử lý giống như các trang nhớ trên đĩa.

Hình 17: Ví dụ về R-Tree

Hình trên mô tả một số hình chữ nhật ở bên trái và cây R-Tree tương ứng ở phía bên phải. Các đường ba chấm biểu thị khung giới hạn của cây con đã được phát sinh từ nút bên trong. Với các kiểu cấu trúc cây khác như cấu trúc chỉ mục, một chỉ mục của cây R-Tree phân chia không gian đa chiều bằng cách nhóm các đối tượng trong từng loại thứ tự. Một không gian con chứa bởi một nút thuộc cây R-Tree luôn phải nằm trong không gian con của nút cha của nó, đó là đặc tính bao đóng MBR. Theo đặc tính này, một MBR của một nút R-tree (ở bất cứ tầng nào ngoại trừ phía bên trái cây) luôn bao trọn MBR của nút R-tree con cháu của nó. Đặc điểm này của kỹ thuật giới hạn không gian giữa các MBR của các nút trong cây R-tree thường được sử dụng trong thuật toán nối không gian và thuật toán truy vấn liên quan đến khoảng cách. Chú ý rằng MBR – Đường biên tối thiểu - và thuộc tính đi kèm MBR chính là các kỹ thuật xấp xỉ cơ bản. Ở tầng bên trái, một khu vực xấp xỉ MBR được bao phủ bởi các đối tượng nó đi kèm, trong khi tại các tầng bên trong một khu vực xấp xỉ MBR lại được bao phủ bởi các cây con của các nút tương ứng. Một thuộc tính quan trọng khác của R-tree là MBR face property (tạm dịch: thuộc

tính bề mặt MBR) – mỗi bề mặt của bất kỳ MBR của mỗi nút R-tree (tại bất kỳ tầng nào) liền kề ít nhất một điểm của một số đối tượng không gian trong CSDL không gian. Đặc điểm này được sử dụng trong các thuật toán truy vấn liên quan đến khoảng cách. Một trong những phiên bản phổ biến và có hiệu năng cao nhất là R* -tree (Beckmann et al.,1990). R* đã bổ sung hai cải tiến lớn vào cấu trúc R-Tree ban đầu trong trường hợp xảy ra việc quá tải các nút trong cây. Đầu tiên, hơn cả việc chỉ tính toán đến các khu vực , thuật toán phân tách nút trong R*-tree còn tối thiểu hóa chu vi và các phần mở rộng nằm gối lên nhau của MBRs. Thứ hai, việc tràn nút không được phân tách ngay lập tức, nhưng các phần chia các mục trong nút được chèn lại từđầu của cây R*- tree (việc chèn bắt buộc)

Corall et al (2000) đã đưa ra một sự tổng quát hóa của các chức năng dùng trong việc tính toán khoảng cách tối thiểu giữa điểm và MBRs (MINMINDIST).

Giả sử có (A, B) biểu diễn một MBR trong không gian d-chiều, với A = (a1, a2, …, ad) và B = (b1, b2, …, bd) sao cho ai ≤ bi, với 1 ≤ i ≤ d là các điểm kết thúc của một trong những đường chéo chính của nó. Ta có hai MBRs là M1 (A, B) và M2 (C, D), MINMINDIST (M1, M2) được định nghĩa như sau:

Chúng ta có thể áp dụng chức năng về khoảng cách này cho một cặp các loại phần tử bất kỳ (MBRs hoặc điểm) lưu trữ trong cấu trúc R-tree trong quá trình tính toán của thuật toán rẽ nhánh và cận nhằm thu nhỏ không gian tìm kiếm.

Những đặc tính quan trọng nhất của MINMINDIST:

™ Nếu bất kỳ một hoặc một cặp MBR (dạng chữ nhật) nào suy biến thành một hoặc một cặp điểm, ta phải thu được khoảng cách nhỏ nhất giữa điểm đó và MBR hoặc giữa hai điểm này.

™ Đặc điểm của đường biên cấp thấp hơn: Với mỗi cặp điểm trong không gian đa chiều (p ; q) đi cùng với một cặp MBR tương ứng (Mp; Mq), chứng minh được rằng MINMINDIST (Mp; Mq) ≤ MINMINDIST(p, q).

™ MINMINDIST là một dãy đơn điệu không giảm với các bậc của R-Tree.

2.2 Cấu trúc của một R-tree

Một cách tổng quát, R-tree là một cấu trúc chỉ mục cho các đối tượng không gian n-chiều và nó tương tự như B-tree. Cấu trúc chỉ mục này là thực sự linh động, thao tác chèn và xóa có thể kết hợp với phép tìm kiếm và phải tái tổ chức theo chu kỳ.

(MBR, object_ptr) - Trong đó object_ptr tham chiếu đến một bộ dữ liệu trong cơ sở dữ liệu và MBR là một rectangle n-chiều chứa các đối tượng không gian nó biểu diễn.

Một phần của tài liệu Tính toán xấp xỉ với các truy vấn liên quan đến khoảng cách trong cơ sở dữ liệu không gian (Trang 34)

Tải bản đầy đủ (PDF)

(95 trang)