Sâu của một điểm và các lớp lồi của một tập hợp

Một phần của tài liệu (LUẬN án TIẾN sĩ) bài toán tìm bao lồi của tập hữu hạn các điểm hoặc các hình tròn (Trang 30)

Chương 4 Ứng dụng của bài tốn tìm bao lồi cho tập điểm

1.17 sâu của một điểm và các lớp lồi của một tập hợp

Tìm đường kính của một tập hợp hữu hạn điểm

Bài tốn tìm đường kính của một tập hợp hữu hạn là một bài tốn quan trọng trong hình học tính tốn và được ứng dụng nhiều trong những bài toán phân cụm (clustering), đây là bài tốn làm việc với các nhóm đối tượng tương tự nhau được trình bày cụ thể ở [43], tr. 170. Phương pháp có thể áp dụng để giải bài tốn này là tìm tất cả các khoảng cách giữa hai điểm bất kỳ của tậpS, đoạn thẳng nối một trong những cặp điểm có khoảng cách lớn nhất là đường kính của S. Cách làm này có độ phức tạp tính tốn là O(n2). Tuy nhiên dưới đây ta sẽ trình bày một phương pháp là ứng dụng của bao lồi với độ phức tạp tính tốn là O(nlogn).

Mệnh đề 1.2.4 (xem [43]). Cho tập S gồm n điểm trong mặt phẳng. Hai đầu mút của đường kính của tập S là hai điểm cực biên của S, tức là hai điểm đó

phải là hai điểm thuộc bao lồi của tập S.

Định nghĩa 1.2.5 (xem [43]). Nếu l1 và l2 là hai đường thẳng tựa trên tập S tương ứng đi quap1 và p2 (p1, p2∈S) và l1 song song với l2 thì cặp điểm(p1, p2) được gọi là cặp điểm đối cực của S.

Định lý 1.2.6 (xem [43], Định lý 4.18, tr. 17). Cặp điểm xa nhất của một tập

S là một cặp đối cực của S mà có khoảng cách lớn nhất.

Như vậy để tìm cặp điểm xa nhất thì ta phải tìm tất cả các cặp đối cực và chọn một cặp có khoảng cách lớn nhất. Từ Mệnh đề 1.2.4 và Định lý 1.2.6 ta có tất cả các cặp điểm đối cực phải nằm trên bao lồi của tập S. Do đó đầu

tiên ta phải tìm bao lồi của của tập S, sau đó xác định các cặp đối cực từ tập các đỉnh của bao lồi và tìm ra cặp có khoảng cách xa nhất. Thuật tốn tìm cặp điểm xa nhất trên tập đỉnh của conv(S) được trình bày cụ thể trong [43] có độ phức tạp tính tốn là O(nlogn).

Bài tốn tìm tam giác phân Delaunay

Trong hình học tính tốn, tam giác phân Delaunay và biểu đồ Voronoi (hai cấu trúc đối ngẫu nhau) là những cấu trúc quan trọng, cơ bản và có rất nhiều ứng dụng trong các lĩnh vực khác nhau như hệ thống thông tin địa lý (GIS), đồ họa máy tính, đa phương tiện, mơ hình hóa một phần bề mặt của trái đất, v.v. . . Để xác định lưới tam giác phân Delaunay ta có thể dựa vào việc tìm bao lồi dưới. Cụ thể hơn dưới đây ta trình bày lại định nghĩa của phép tam giác phân Delaunay và mối liên hệ của nó với bao lồi dưới.

Định nghĩa 1.2.7 (xem [9,49]). Tam giác phân tậpP∗ ={p1∗, p∗2, . . . , p∗d}trong không gian R2 sao cho phần trong của đường tròn qua 3 đỉnh một tam giác bất kỳ không chứa một điểm nào khác của P∗ được gọi là phép tam giác phân Delaunay, ký hiệu bởi DT(P∗).

Hình 1.18 minh họa lưới tam giác phân Delaunay của tập điểm (điểm màu đen) với các đường tròn ngoại tiếp các tam giác Delaunay và tâm của nó (điểm màu đỏ).

Tính chất 1.2.8 (xem [9, 49]). Gọi P ={p1, p2, . . . , pn} là tập hình chiếu của tập P∗ ={p∗1, p∗2, . . . , p∗n} lên paraboloid z = (x−a)2+ (y−b)2, với a, b∈R. Khi đó DT(P∗) chính là kết quả của phép chiếu của bao lồi dưới convL(P) lên mặt phẳng chứa tập P∗.

Hình 1.18 Lưới tam giác phân Delau- nay của tập điểm.

Hình 1.19 Mối liên hệ giữa tam giác phân Delaunay và bao lồi dưới.

Bởi vậy, ta có thể xác định lưới tam giác phân Delaunay của tập điểm P∗ = {p∗1, p∗2, . . . , p∗d} trong R2 thơng qua việc tính bao lồi dưới trong R3 như sau:

Bước 1: Tạo tập P ={pi(xi, yi, zi)∈ R3, i= 1,2, . . . , n−1} sao cho cao độ của pi thoả mãn zi= (xi−qx)2+ (yi−qy)2, với q(qx, qy) là điểm trung bình của P∗. Bước 2: Tính bao lồi dưới convL(P) của tập hợp P.

Bước 3: Chiếu tất cả các mặt của bao lồi dưới convL(P) theo phương song song với trụcOz lên mặt phẳng Oxy (mặt chứa tập điểm P∗) ta sẽ nhận được tam giác phân Delaunay tương ứng của P∗.

1.2.2 Bài toán tìm bao lồi cho tập hình trịn

Từ định nghĩa bao lồi của một tập bất kỳ, ta cũng có bao lồi của tập hợp D={d1, d2, . . . , dn} ⊂R2 gồmn hình trịn có tâm ci(cix, ciy)và bán kính ri ≥0, ký hiệu bởi conv(D), là tập lồi nhỏ nhất chứa D. Dữ liệu đầu vào của bài toán là tập hợpD gồmn hình trịn d1, d2, . . . , dn và đầu ra là tập các đường tròn cực biên của bao lồi conv(D).

d3 d6 d5 d2 d7 d4 d1 d3 d6 d5 d2 d7 d4 d1 D={d1, d2, . . . , d7} conv(D)

Hình 1.20 Bài tốn tìm bao lồi cho tập hình trịn.

1.2.2.1 Một số thuật toán giải trong R2

Thuật toán tăng dần

Thuật tốn tăng dần (incremental) tìm bao lồi cho tập hữu hạn điểm được đề xuất bởi M. Kallay vào năm 1984 [30]. Dựa vào ý tưởng của thuật toán này năm 1994, D. Olivier giới thiệu một thuật toánO(nlogn) để xác định bao lồi của tập D ={d1, d2, . . . , dn} gồm n hình trịn có tâm ci(cix, ciy) và bán kính

ri ≥0[35]. Trước khi thực hiện thuật tốn các tác giả yêu cầu một bước tiền xử lý là sắp xếp các hình trịn theo thứ tự giảm dần của bán kínhr1 ≥r2 ≥. . .≥rn.

Một phát hiện quan trọng của thuật toán này là Bổ đề 1.2.9 dưới đây. Bổ đề 1.2.9 (xem [35]). Nếu d là một hình trịn có bán kính r sao cho r≤ri

với mọi i = 1,2, . . . , n thì hình trịn d đóng góp nhiều nhất một cung vào biên của bao lồi conv(D) của tập các hình trịn D.

Giả sử Di = {d1, d2, . . . , di} là tập i hình trịn đầu tiên của tập D các hình trịn đã được sắp xếp. Khi đó mỗi bước của thuật tốn tăng dần là xem xét sự thay đổi khi tính bao lồi của i+ 1 hình trịn conv(Di+1) từ bao lồi của i hình trịn conv(Di). Nếu di+1 ⊆conv(Di) thì khơng có gì thay dổi. Ngược lại, ta có di+1 chính là hình trịn có bán kính nhỏ nhất trong tập Di+1, do đó theo Bổ đề 1.2.9 ở trên thì nó đóng góp nhiều nhất một cung vào conv(Di). Từ đó, các tác giả đề xuất phương pháp xác định các cung và các cạnh mới của conv(Di+1) bằng cách dựng các tiếp tuyến từ di+1 tới conv(Di). Đến khi tất cả các hình trịn của D được xem xét ta sẽ nhận được bao lồi conv(D). Cũng dựa vào Bổ đề 1.2.9, các tác giả đã chỉ ra số cung trên biên của conv(D) nhiều nhất là 2n−1cung. Từ đó dễ dàng chứng minh được độ phức tạp tính tốn của thuật tốn tăng dần là O(nlogn).

Thuật toán chia để trị

Năm 1992, D. Rappaport đề xuất thuật toán áp dụng ý tưởng của phương pháp chia để trị (devide and conquer) để tìm bao lồi cho tập hợp các hình trịn [47] với độ phức tạp tính tốnO(nlogn). Bước đầu tiên của thuật toán là chia tậpD={d1, d2, . . . , dn}gồm n hình trịn thành hai tập conP vàQ sao cho

|P| và |Q| khác nhau khơng q một. Sau đó sử dụng đệ quy để tính bao lồi của tập P và tập Q. Bước cuối cùng của thuật toán là áp dụng thuật toán Hợp nhất (Merge algorithm) để hợp nhất bao lồi của tậpP với bao lồi tập Qcho ta kết quả bao lồi conv(D) của tập D ban đầu. Vì vậy, một thuật tốn hiệu quả để hợp nhất hai bao lồi của hai tập hình trịn là cần thiết. Thuật tốn Hợp nhất được giới thiệu trong [47] xoay một cặp đường thẳng tựa song song LP và LQ quanh bao lồi của tập P và tập Q (LP là đường thẳng tựa của tập P, LQ là đường thẳng tựa của tập Q). Tại mỗi bước lặp sẽ quyết định cung đang xét là có thuộc vào conv(P ∪Q) hay khơng và kiểm tra một cạnh có phải là cầu nối giữa hai bao lồi conv(P) và conv(Q) hay không. Độ phức tạp của thuật

toán chia để trị bằng tổng thời gian đệ quy tính bao lồi của hai tập con P và Q và thời gian của thuật toán hợp nhất. Thời gian đệ quy để tính conv(P) và conv(Q) là O(nlogn). Thời gian tính tốn của thuật tốn Hợp nhất là O(n). Do đó độ phức tạp của thuật tốn tổng cộng là O(nlogn).

1.2.2.2 Một số ứng dụng

Bài tốn tìm bao lồi là một bài tốn cơ bản trong hình học tính tốn. Vì vậy nó thường được sử dụng như một bài tốn phụ hay bước tiền xử lý trong những vấn đề khác. Trong mục này chúng tơi trình bày một số ứng dụng điển hình của bài tốn tìm bao lồi cho tập hình trịn.

Tính biểu đồ Voronoi của tập hình trịn

Biểu đồ Voronoi của tập hình trịn là một khái niệm có rất nhiều ứng dụng quan trọng trong các lĩnh vực như bài tốn gói cáp (cable packing problem) (xem Hình 1.21), bài tốn tìm đường đi ngắn nhất (shortest path problem) (xem Hình 1.22), bài tốn đường đi rộng nhất (largest channel problem) (xem Hình 1.23), v.v. . .

Định nghĩa của biểu đồ Voronoi của một tập D các đường trịn có thể được tổng qt hố và được gọi là biểu đồ Voronoi miền xa nhất (furthest site Voronoi diagram) [46, 47], được ký hiệu là FVOR(D). Cho tập hợp D =

{d1, d2, . . . , dn} gồm n hình trịn tâm ci(cix, ciy) với bán kính ri ≥ 0 và tập Σ = {h1, h2, . . . , hn} chứa các nón có trục song song với Oz tương ứng với tập các hình trịn trong D, có nghĩa là với mỗi hình trịn di ∈D có tâm ci(cix, ciy) và bán kính ri ta có một nón hi tương ứng được định nghĩa bởi

(x−cix)2+ (y−ciy)2 ≤(z−ri)2.

Trong [46, 47] các tác giả trình bày một thuật tốn O(nlogn) để tính FVOR(D) dựa trên nhận xét rằng biểu đồ FVOR(D) tương ứng với hình chiếu vng góc lên mặt phẳng z = 0 của tập I(Σ) là giao các nón trong Σ.

Như vậy bài tốn đặt ra là phải tính được tập I(Σ). Trong [47], tác giả đã giới thiệu thuật tốn Sweep để tínhI(Σ)từ tập CH(D). Để tính được FVOR(D) ta sẽ tìm bao lồi của tậpD trước tiên. Sau đó từ tập CH(D) sẽ tính tập I(Σ). Chiếu kết quả vừa tìm được lên mặt phẳng z = 0 (mặt phẳng chứa tập các hình trịn D) ta sẽ nhận được FVOR(D).

Tìm hình trịn nhỏ nhất chứa tập các hình trịn

Bài tốn tìm hình trịn nhỏ nhất chứa một tập hợp hữu hạn các điểm (minimum spanning circle), ký hiệu là MSC, được giới thiệu lần đầu từ những năm 1960. Sau đó, xuất hiện rất nhiều thuật tốn giải quyết bài toán này. Năm 1975, M. Shamos [51] đề xuất thuật toán O(nlogn) tìm FVOR và MSC cho một tập điểm. Năm 1989, M. Megiddo [33] đã chỉ ra rằng hình cầu nhỏ nhất chứa một tập các hình cầu khác trongRd có thể được tìm thấy trong thời gian O(n). Bằng phương pháp tính FVOR được đề cập đến ở Mục 1.2.2.2, D. Rappaport cũng đã chỉ ra cách xác định tâm MCS của tập các hình trịn. Như vậy, thuật tốn tính FVOR của tậpD các hình trịn cũng có thể được sử dụng để tính MSC của tập hình trịn đó.

Hình 1.21 Bài tốn gói cáp (cable packing problem).

Hình 1.22 Bài tốn tìm đường đi ngắn nhất (shortest path problem).

Tìm đường đi ngắn nhất giữa hai điểm có vật cản là các hình trịn

Trong [31], các tác giả đã trình bày một ứng dụng của bài tốn tìm bao lồi cho bài tốn tìm đường đi ngắn nhất giữa hai điểm có các vật cản là các hình trịn. Cho trước một tập các hình trịn và hai điểm p, q, tìm thuật tốn chính xác xác định đường đi ngắn nhất từ p tới q và tránh các hình trịn đó.

Bài tốn tìm bao lồi cho tập các hình trịn ở đây được dùng như một công cụ làm giảm khơng gian nghiệm để tăng tốc cho thuật tốn tìm đường đi ngắn nhất. Các tác giả trong [31] đã trình bày hai phép lọc, phép lọc ellipse (ellipse filter) và lọc bao lồi (convex hull filter), nhằm mục đích hạn chế khơng gian tìm nghiệm. Trong đó phép lọc bao lồi tạo ra miền hạn chế nhỏ hơn (Hình 1.24). Phép lọc bao lồi được các tác giả định nghĩa là tập lồi nhỏ nhất chứa đoạn thẳngpqvà một số hình trịn xung quanh đoạn thẳng pq, ký hiệu CH(pq). Các tác giả đã chứng minh đường đi ngắn nhất từ p tới q và tránh các hình trịn phải nằm trong CH(pq). Vì vậy, sau khi tính được CH(pq), các tác giả chỉ cần áp dụng thuật tốn tìm đường đi ngắn nhất cho hai điểm p, q trong bao lồi này.

Hình 1.24 Xác định đường đi ngắn nhất giữa hai điểm với các vật cản là các hìnhtrịn. trịn.

Đường kính của tập hình trịn

Như đã nói ở Mục 1.2.1.3, bài tốn tìm đường kính của một tập hữu hạn điểm P là bài tốn tìm khoảng cách của cặp điểm xa nhất của tập hợp đó. Cặp điểm xa nhất phải nằm trên bao lồi của tập P. Do vậy trước khi tìm cặp điểm này ta sẽ tính bao lồi của tập P.

Tương tự như bài tốn tìm đường kính của tập điểm thì với bài tốn tìm đường kính của tậpDcác hình trịn ta sẽ tính bao lồi conv(D) của tập Dtrước tiên. Đường kính của của tập D chính là khoảng cách lớn nhất giữa các cặp đường thẳng tựa song song của nó. Như vậy, thuật tốn trong [43] cũng có thể áp dụng trong bài tốn này.

Kết luận Chương 1

Chương 1 hệ thống một số kiến thức về tập đa diện lồi, sự định hướng, các điểm cực đặc biệt, khái niệm bài tốn tìm bao lồi cho tập hữu hạn điểm và tập hữu hạn các hình trịn, một số thuật tốn giải bài tốn này như thuật tốn gói q, thuật tốn Quickhull, thuật tốn tăng dần, thuật toán chia để trị v.v. . . và một số ứng dụng của chúng.

Chương 2

Bài tốn tìm bao lồi cho tập điểm

Như đã giới thiệu ở phần Mở đầu, việc tăng tốc cho các thuật tốn tìm bao lồi nhằm xử lý các vấn đề ở tốc độ cao cho các dữ liệu lớn đầu vào là rất quan trọng. Vì vậy trong chương này chúng tơi đề xuất một số cải tiến cho bài tốn tìm bao lồi của tập điểm bằng cách hạn chế các phép tính orient, giảm khơng gian tìm kiếm, giảm số chiều tính tốn, v.v. . . Chúng tơi áp dụng các cải tiến này cho thuật tốn Quickhull trong khơng gianR2, thuật tốn tìm bao lồi dưới trong khơng gian R3 và thuật tốn gói q trong khơng gian Rd (với d≥2).

Một số cải tiến của thuật tốn Quickhull tìm bao lồi của tập điểm trong không gianR2 ở chương này nhằm mục đích giảm số lượng phép tốn căn bản (orient) trong tính tốn, giảm phạm vi tìm nghiệm và giảm kích thước dữ liệu đầu vào. Những kết quả tính tốn đã chỉ ra rằng các cải tiến đã thực sự mang lại hiệu quả về tốc độ và khả năng tính tốn cho thuật tốn Quickhull với độ tăng tốc gấp khoảng 3 lần so với phiên bản hiện có. Nội dung này được trình bày trong Mục 2.1 của Chương 2. Tiếp theo, Mục 2.2 đưa ra kỹ thuật hạn chế để cải tiến thuật tốn gói q trong Rd. Chúng tơi sử dụng phép chiếu làm giảm số chiều của tập điểm và tìm ra miền hạn chế để giới hạn khơng gian tính tốn nhằm mục đích giúp cho các tính tốn trở nên dễ dàng và nhanh gọn hơn. Các thử nghiệm trên các tập điểm được tạo ngẫu nhiên trong không gian R2 và R3 chỉ ra rằng thời gian thực thi thuật toán cải tiến giảm trung bình khoảng 40% so với phiên bản thuật tốn gói q hiện có.

2.1 Cải tiến thuật tốn Quickhull trong không gian

R2

Trong mục này chúng tôi đề xuất các kỹ thuật hạn chế để tính bao lồi của một tậpP hữu hạn điểm trong không gianR2. Các kỹ thuật này được áp dụng cho thuật toán Quickhull (xem [20, 49]). Trong các thuật tốn tìm bao lồi của tập điểm trong R2 thì thuật tốn Quickhull được biết đến là một thuật tốn hiệu quả có độ phức tạp tính tốn trung bình là O(nlogn)nhưng trong trường hợp xấu nhất thì độ phức tạp là O(n2). Độ phức tạp của thuật toán Quickhull tương tự như thuật toán Quicksort - một thuật toán chạy trong thực tế nhanh hơn rất nhiều so với trường hợp xấu nhất. Do vậy việc cải tiến thuật tốn Quickhull là có ý nghĩa.

Chúng tôi nhận ra rằng với một số cải tiến thì thuật tốn có thể chạy nhanh hơn nữa. Một khái niệm được sử dụng nhiều cho thuật toán Quickhull trong không gian R2 là sự định hướng của một điểm đối với hai điểm cho trước,

Một phần của tài liệu (LUẬN án TIẾN sĩ) bài toán tìm bao lồi của tập hữu hạn các điểm hoặc các hình tròn (Trang 30)

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

(121 trang)