Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 54 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
54
Dung lượng
1,22 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KHOA HỌC NGUYỄN KIỀU LINH BÀI TỐN TÌM BAO LỒI LUẬN VĂN THẠC SỸ Chuyên ngành : TOÁN ỨNG DỤNG Mã số : 00 00 00 Giáo viên hướng dẫn: TS HỒNG NAM DŨNG THÁI NGUN, 2012 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Lời cảm ơn Sau thời gian cố gắng, nỗ lực học tập nghiên cứu, đến hồn thành luận văn tốt nghiệp thạc sỹ Để có kết này, tơi xin bày tỏ lòng biết ơn sâu sắc lời cảm ơn chân thành đến thầy tơi, TS Hồng Nam Dũng, người định hướng nghiên cứu cho suốt thời gian thực luận văn Cám ơn thầy mang đến cho học quý báu phương pháp nghiên cứu khoa học Đó tảng bản, hành trang vô q giá để tơi tiếp cận với khoa học thật Thầy dạy cho kiến thức khoa học mà học sống, tình người Xin cảm ơn tất thầy mang đến cho Tôi xin gửi lời cảm ơn chân thành tới thầy cô trường Đại học Khoa học, Đại học Thái Nguyên thầy cô Viện Tốn học ln tận tình giúp đỡ, theo dõi động viên cho tơi suốt q trình thực luận văn Xin cám ơn người thân gia đình thơng cảm, chia sẻ tạo điều kiện tốt cho để học tập, nghiên cứu hồn thành cơng việc Xin cám ơn tất người bạn thân yêu, người yêu mến, chia sẻ với tơi khó khăn vui buồn tơi thực luận văn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Mục lục Bài tốn tìm bao lồi ứng dụng 1.1 Bài tốn tìm bao lồi 1.1.1 Tập lồi 1.1.2 Bao lồi 1.1.3 Bài toán tìm bao lồi 1.2 Ứng dụng toán tìm bao lồi 1.2.1 Nhận dạng 1.2.2 Tìm đường ngắn 1.2.3 Hệ thống thông tin địa lý (GIS) 1.2.4 Thống kê 1.2.5 Tìm đường kính tập hợp điểm Các 2.1 2.2 2.3 thuật tốn tìm bao lồi Một số khái niệm thuật tốn Thuật tốn gói quà Thuật toán quét Graham 2.3.1 So sánh hai góc mặt phẳng 2.3.2 Sắp xếp 2.3.3 Thuật toán quét Graham 2.4 Thuật toán Quickhull 2.5 Thuật toán Chan 7 7 9 10 11 12 14 15 19 19 22 23 24 25 29 30 35 Cải tiến thuật toán 39 3.1 Xóa điểm 39 3.2 Cải tiến thuật toán Quickhull 41 Kết tính tốn 45 4.1 Tạo tập hợp điểm ngẫu nhiên thuật tốn xóa điểm 45 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 4.2 Các kết tính toán 48 Số hóa Trung tâm Học liệu – Đại học Thái Ngun http://www.lrc-tnu.edu.vn Mở đầu Bài tốn tìm bao lồi toán đặc biệt quan trọng lĩnh vực hình học tính tốn ứng dụng đa dạng Chẳng hạn nhận dạng mẫu, xử lý hình ảnh, tìm đường cho robot, số liệu thống kê, Hơn tốn tìm bao lồi cịn áp dụng để tìm tốn tính tốn hình học khác tìm tam giác phân Delaunay, tìm đường kính tập hợp, tìm lớp lồi tập hợp, Vì ứng dụng quan trọng nên nhiều nhà khoa học bắt tay vào việc nghiên cứu đưa thuật toán tìm bao lồi tập hợp Điển phát Chand Kapur vào năm 1970 Jarvis vào năm 1973 với thuật tốn gói q, Ronald Graham vào năm 1972 với thuật toán quét Graham, W Eddy năm 1977 A.Bykat năm 1978 với thuật toán Quickhull, Timothy Chan vào năm 1993 với thuật toán Chan, Hiện có nhiều nhà khoa học dựa vào thuật toán để cải tiến tăng tốc cho chúng nhằm đáp ứng yêu cầu sống đại xử lí vấn đề tốc độ cao với số lượng lớn Xuất phát từ lí luận văn đưa cải tiến nhằm tăng tốc cho việc tính tốn tìm bao lồi tập hợp điểm mặt phẳng Luận văn gồm bốn chương Chương phát biểu tốn tìm bao lồi trình bày số ứng dụng quan trọng toán thực tiễn Chương trình bày thuật tốn tìm bao lồi khơng gian hai chiều thuật tốn gói q, thuật tốn quét Graham, thuật toán Quickhull thuật toán Chan Chương đưa thuật tốn xóa điểm, thuật tốn dựa vào tính chất điểm cực nằm tập đỉnh bao lồi, để xóa bớt điểm nằm đa giác tạo điểm cực, nhằm mục đích giảm bớt số lượng điểm đầu vào cho thuật tốn tìm bao lồi Đồng thời chương trình bày cải tiến cho thuật tốn Quickhull Chương nêu kết tính tốn thuật tốn trình bày chương thuật tốn xóa điểm, thuật tốn Quickhull Quickhull cải tiến Trong trình nghiên cứu tìm tịi để hồn thành luận văn này, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn tác giả có nhiều nỗ lực cố gắng, chắn luận văn không tránh khỏi thiếu sót Tác giả mong nhận góp ý thầy bạn để luận văn hồn thiện Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Chương Bài tốn tìm bao lồi ứng dụng Như biết, tốn tìm bao lồi toán đặc biệt quan trọng lĩnh vực hình học tính tốn Chương phát biểu tốn tìm bao lồi đưa số ứng dụng quan trọng toán thực tế 1.1 Bài tốn tìm bao lồi Trước trình bày định nghĩa tốn tìm bao lồi ta trình bày khái niệm tập lồi, tổ hợp lồi, [19] 1.1.1 Tập lồi Định nghĩa 1.1 Cho hai điểm p, q ∈ Rn Tập hợp tất điểm x có dạng x = (1 − λ)p + λq với ≤ λ ≤ gọi đoạn thẳng nối p với q kí hiệu pq Định nghĩa 1.2 Cho p1 , p2 , , pk ∈ Rn Những điểm x ∈ Rn có dạng x = k λi pi i=1 pi ∈ Rn ≤ λi ≤ với p1 , p2 , , pk ∈ Rn k λi = gọi tổ hợp lồi i=1 Định nghĩa 1.3 Một tập S gọi tập lồi cho hai điểm p, q tùy ý thuộc S tổ hợp lồi p q nằm S hay đoạn thẳng pq phải nằm hoàn toàn S (hình 1.1) 1.1.2 Bao lồi Sau ta trình bày định nghĩa bao lồi phát biểu tốn tìm bao lồi không gian Rn Số hóa Trung tâm Học liệu – Đại học Thái Ngun http://www.lrc-tnu.edu.vn (a) Tập lồi (b) Tập khơng lồi Hình 1.1 Định nghĩa 1.4 Bao lồi tập S hữu hạn điểm giao tất tập lồi chứa S Ta kí hiệu bao lồi S conv(S) (hình 1.2) Nhận xét 1.1 Bao lồi tập S tập lồi nhỏ chứa S Bao lồi tập hữu hạn điểm P ⊂ Rn đa diện lồi Rn (hình 1.3) Định nghĩa 1.5 Mỗi p ∈ P thỏa mãn p ∈ / conv(P \{p}) gọi đỉnh conv(P ) Hình 1.2 Bao lồi tập hữu hạn Hình 1.3 Bao lồi tập hữu hạn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Nhận xét 1.2 Nếu gọi tập hợp đỉnh conv(P ) H ta có conv(P ) = conv(H) Định nghĩa 1.6 Trong mặt phẳng, đa giác tạo đỉnh bao lồi gọi biên bao lồi 1.1.3 Bài tốn tìm bao lồi Cho tập hợp P hữu hạn điểm, tốn tìm bao lồi P tốn tìm tập hợp H đỉnh bao lồi conv(P ) P Input: Tập hợp P hữu hạn n điểm p1 , p2 , , pn Output: Tập đỉnh bao lồi conv(P ), H = {h1 , h2 , , hm }(hình 1.4) (a) Input (b) Output Hình 1.4 1.2 Ứng dụng tốn tìm bao lồi Bài tốn tìm bao lồi tập hợp hữu hạn điểm có ứng dụng đa dạng nhiều lĩnh vực chẳng hạn nhận dạng mẫu, xử lý hình ảnh, tìm đường cho robot, số liệu thống kê, Bài tốn tìm bao lồi cịn áp dụng rộng rãi để tìm tốn tính tốn hình học khác tốn có nhiều ứng dụng thực tế tốn tìm tam giác phân Delaunay, tốn tìm đường kính tập hợp, tốn tìm lớp lồi tập hợp, Sau ta trình bày số ứng dụng quan trọng tốn tìm bao lồi Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 1.2.1 Nhận dạng Bài tốn tìm bao lồi có ứng dụng quan trọng lĩnh vực nhận dạng Nhận dạng nhằm mục đích phân loại liệu (là mẫu) dựa vào thông tin thống kê khai thác từ mẫu có sẵn Các mẫu cần phân loại thường biểu diễn thành nhóm liệu đo đạc hay quan sát Các ứng dụng phổ biến thực tế nhận dạng tiếng nói tự động, phân loại văn thành nhiều loại khác (ví dụ thư điện tử spam/nonspam), nhận dạng tự động mã bưu điện viết tay bao thư, hay hệ thống nhận dạng mặt người, nhận dạng biển số xe, Sau ta xét ứng dụng cụ thể tốn tìm bao lồi nhận dạng biển số xe Nội dung hình vẽ trích [14] Hình 1.5 Quy trình trình xử lý nhận diện biển số xe thường thơng qua bước hình 1.5 tốn tìm bao lồi ứng dụng bước q trình nhận dạng Trong bước ta lập kí tự biển số xe trích bước Tiếp theo sử dụng thuật toán tìm bao lồi tìm vùng tối thiểu chứa kí tự để chuẩn bị tiến hành nhận dạng bước Hình 1.6 biểu diễn 10 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn thẳng q1 q2 , q3 q4 , q5 q6 , q7 q8 thêm chúng vào Q Như điểm tập Q điểm lại tập P sau loại bỏ điểm phía đa giác nối điểm cực Bây ta xét độ phức tạp tính tốn thuật tốn 11 Ở bước ta tìm tám điểm cực tập điểm P gồm n điểm, tìm điểm ta có độ phức tạp O(n) độ phức tạp bước O(n) Bước có độ phức tạp O(n) Vì thuật tốn 11 có độ phức tạp tính tốn tổng cộng O(n) Algorithm 11 Thuật tốn xóa điểm Input: Tập P gồm n điểm, giả sử n ≥ Output: Tập Q điểm lại tập P sau xóa điểm nằm phía đa giác nối điểm cực tập P (a) Gán q1 điểm tận bên trái trên, q2 điểm tận bên trái, q3 điểm tận bên phải, q4 điểm tận bên phải trên, q5 điểm tận bên phải dưới, q6 điểm tận bên phải, q7 điểm tận bên trái, q8 điểm tận bên trái (b) Gán Q := q1 For i =1 to If qi = qi+1 then Q = Q ∪ qi+1 If q8 = q1 q8 = q7 then Q = Q ∪ q8 For each u in P If (q1 = q2 ) then gán M12 := Orient(q1 , q2 , u) else M12 = If (q3 = q4 ) then gán M34 := Orient(q3 , q4 , u) else M34 = If (q5 = q6 ) then gán M56 := Orient(q5 , q6 , u) else M56 = If (q3 = q4 ) then gán M78 := Orient(q7 , q8 , u) else M78 = If (M12 > 0) or (M34 > 0) or (M56 > 0) or (M78 > 0) then gán Q := Q ∪ {u} Return Q 40 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn (a) (b) Hình 3.1 3.2 (c) Các điểm cực đặc biệt Cải tiến thuật toán Quickhull Ở chương ta biết thuật tốn Quickhull có độ phức tạp tính tốn xấu O(n2 ) Nhưng thời gian trung bình thuật tốn lại gần với độ phức tạp tính tốn tốt biết đến O(n log n) Độ phức tạp tính tốn thuật toán Quickhull giống thuật toán Quicksort thực tế thời gian trung bình Quicksort hoạt động tốt nhiều thời gian xấu nó, xem [16] Do chưa có tính tốn đủ lớn để so sánh thuật tốn tìm bao lồi với ta hy vọng thực tế Quickhull hoạt động tốt nhiều thời gian xấu hoàn toàn hợp lý ta tiến hành cải tiến thuật toán Quickhull Ta thấy thuật toán Quickhull chương có số phép tốn bị lặp lại Ở bước Findhull ta tìm điểm r xa pq cách tìm điểm r cho diện tích tam giác pqr lớn dựa vào công thức Spqr = |Orient(p, q, r)| ta kết hợp việc tìm điểm r với bước Quickhull tìm tập P1 P2 Như lần gọi Findhull ta có sẵn điểm r mà khơng phải tìm lại nên tiết kiệm thời gian tính tốn Thuật tốn 12 mơ tả cải tiến thuật tốn Quickhull 41 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Algorithm 12 Thuật toán Quickhull cải tiến Input: Tập P gồm n điểm, giả sử n ≥ Output: Tập H gồm điểm đỉnh conv(P ) Tìm điểm p tận bên trái điểm q tận bên phải, gán H := p Gán P1 := ∅, P2 := ∅, max := 0, := For i = to n gán Mi := Orient(p, q, pi ) If Mi > then gán P1 := P1 ∪ {pi } If Mi > max then gán max := Mi , r1 := pi If Mi < then gán P2 := P2 ∪ {pi } If Mi < then gán := Mi , r2 := pi Gọi Findhull (P1 , p, q, r1 ) Gán H := H ∪ {q} Gọi Findhull (P2 , q, p, r2 ) Findhull(Pk , p, q, rk ) If Pk = ∅ then return Else gán S1 = ∅, S2 = ∅, max1 := 0, max2 := For each u in P gán M1 := Orient(p, rk , u), M2 := Orient(rk , q, u) If M1 > then gán S1 := S1 ∪ {u} If M1 > max1 then gán max1 := M1 , t1 := u If M2 > then gán S2 := S2 ∪ {u} If M2 > max2 then gán max2 := M2 , t2 := u Gọi Findhull(S1 , p, rk , t1 ) Gán H := H ∪ {rk } Gọi Findhull(S2 , rk , q, t2 ) Nhận xét 3.1 Trong hàm Findhull thuật toán 12 ta thấy điểm rk xa pq nên không tồn điểm u thỏa mãn Orient(p, rk , u) > Orient(rk , q, u) > Nhận xét 3.2 Phép tính thuật toán Quickhull Quickhull cải tiến phép tính Orient Trong thuật tốn Quickhull để tìm P1 P2 ta phải 42 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn tính Orient n − lần cho n − điểm tập P \{p, q} Để tìm r1 ta tính Orient cho điểm nằm tập P1 để tìm r2 ta tính Orient cho điểm nằm tập P2 Khi để tìm r1 r2 ta phải tính Orient n − lần tìm hai tập P1 P2 Như để tìm P1 , P2 , r1 , r2 thuật tốn Quickhull ta tổng cộng 2n − lần tính Orient Cịn thuật tốn Quickhull cải tiến để tìm P1 , P2 , r1 , r2 ta cần n − lần tính Orient Vì thuật tốn lần tính Orient(p, q, pi ) để xét xem pi thuộc tập P1 hay P2 đồng thời so sánh để tìm điểm r1 r2 Do bước tìm P1 , P2 , r1 , r2 thuật tốn Quickhull cải tiến số phép tính Orient giảm nửa Ở bước gọi Findhull(Pk , p, q) thuật toán Quickhull, để tìm tập S1 S2 ta phải tính Orient cho điểm nằm tập Pk , giả sử Pk có m điểm ta phải tính Orient m lần Sau để tìm điểm t1 ta phải tính Orient cho điểm nằm tập S1 để tìm điểm t2 ta phải tính Orient cho điểm nằm tập S2 Như điểm nằm tập S1 S2 tính Orient hai lần Giả sử S1 S2 có số điểm m1 m2 để tìm S1 , S2 , t1 t2 ta tính Orient m + m1 + m2 lần Còn Findhull(Pk , p, q, rk ) Quickhull cải tiến tính Orient m lần cho điểm nằm tập Pk để tìm tập S1 S2 đồng thời tìm t1 t2 Như ta giảm m1 + m2 phép gọi hàm Orient Nhận xét 3.3 Ta làm tốt thuật tốn Quickhull cải tiến bước tìm Orient Giả sử để tìm điểm bên trái đoạn thẳng prk , với u ta phải tính Orient(p, rk , u) Nếu gọi tọa độ điểm p, rk , u p(px , py ), rk (rkx , rky ) u(ux , uy ) trường hợp tính định thức cấp ba ta có Orient(p, rk , u) = px py rkx rky ux uy Khi tính trực tiếp định thức cấp ba Orient(p, rk , u) = rkx uy − rky ux − px uy + px rky + py ux − py rkx Như với u ta cần sáu phép nhân, ba phép trừ hai phép cộng để tính Orient(p, rk , u) Nếu dùng định thức cấp hai Orient(p, rk , u) = ux − rkx uy − rky px − rkx py − rky Tính trực tiếp định thức ta có Orient(p, rk , u) = (ux − rkx )(py − rky ) − (px − rkx )(uy − rky ) 43 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Như với u ta cần hai phép nhân năm phép trừ để tính Orient(p, rk , u) Dựa vào trùng số phần tử định thức ta giảm bớt số lượng phép tính cách đặt a = py − rky , b = pc − rkx , c = brky − arkx Orient(p, rk , u) = aux − buy + c Khi với u ta cần hai phép nhân, phép cộng phép trừ để tính Orient(p, rk , u) tức ta tiết kiệm bẩy phép tính dùng định thức cấp ba ba phép tính dùng định thức cấp hai Với cách tính "thơng minh" ta nói tiết kiệm số phép tính so với cách tính trực tiếp kết luận lý thuyết Vì số phép tính giảm lại thực số khác nên ta chưa biết thời gian tính tốn có giảm khơng Để biết xác điều ta tính tốn cụ thể chương sau 44 Số hóa Trung tâm Học liệu – Đại học Thái Ngun http://www.lrc-tnu.edu.vn Chương Kết tính tốn Để thử nghiệm thuật tốn tìm bao lồi, ta sử dụng ngơn ngữ C++ lập trình tạo ngẫu nhiên tập điểm với số lượng điểm lớn làm liệu đầu vào Các thuật tốn lập trình ngơn ngữ C++ chạy máy tính RAM 2GB, Intel Core2Duo, 2.0 GHz 4.1 Tạo tập hợp điểm ngẫu nhiên thuật tốn xóa điểm Ta sử dụng hàm rand() C++ để khởi tạo ngẫu nhiên tọa độ (giá trị nguyên) điểm mặt phẳng Để sinh ngẫu nhiên điểm có tọa độ nguyên (x, y) miền hình vng, chẳng hạn [0, 10000] × [0, 10000], ta làm sau x = rand() % 10000; y = rand() % 10000 Với liệu điểm sinh ngẫu nhiên miền hình vng trên, sau thực thuật tốn xóa điểm, số điểm cịn lại (xem hình 4.1a) Đây ưu điểm thuật tốn xóa điểm Tuy nhiên, số điểm cịn lại nên thời gian chạy thuật toán quick hull (quick hull cải tiến) sau xóa điểm gần Như liệu đầu vào khởi tạo theo cách khơng đủ tốt để so sánh thuật tốn nêu chương Một cách tạo liệu tốt khách quan cho việc thử nghiệm thuật toán sinh ngẫu nhiên điểm miền hình trịn, chẳng hạn hình trịn tâm (5000, 5000) bán kính 5000 Với điểm, tọa độ cực điểm (bao gồm bán kính góc) sinh ngẫu nhiên Bán kính khoảng cách từ tâm hình trịn đến điểm đó, tạo ngẫu nhiên sau BanKinh = rand() % 5000 45 Số hóa Trung tâm Học liệu – Đại học Thái Ngun http://www.lrc-tnu.edu.vn (a) Số điểm cịn lại sau xóa tập điểm (b) Số điểm lại sau xóa tập điểm tạo ngẫu nhiên hình vng tạo ngẫu nhiên hình trịn Hình 4.1 Bảng số điểm cịn lại Góc tạo chiều dương trục hồnh với tia từ tâm hình trịn đến điểm (đơn vị radian) tạo ngẫu nhiên sau Goc = rand() % 10000 Ta ghi lại thông tin tọa độ Đề-các điểm sau x = 5000 + BanKinh * cos(Goc), y = 5000 + BanKinh * sin(Goc) Tuy nhiên để số điểm lại tương đối nhiều sau xóa để tập điểm khơng q đối xứng trịn trịa tập điểm dùng để chạy thuật toán chương tạo sau: tạo 40% số điểm hình trịn tâm (5000, 5000) bán kính 5000 60% số điểm hình trịn tâm (4500, 4500) bán kính 4500 Với liệu sinh số điểm cịn lại sau áp dụng thuật tốn xóa điểm nhiều (xem hình 4.1b) Điều khắc phục nhược điểm liệu sinh ngẫu nhiên miền hình vng Để dễ quan sát 46 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ta đưa số minh họa số tập điểm ngẫu nhiên với số lượng điểm tương đối nhỏ, tạo ngẫu nhiên hình trịn trình bày trên, sau sử dụng thuật tốn xóa điểm Các điểm màu đỏ điểm bị xóa, điểm màu xanh điểm cịn lại Hình 4.2 Số điểm cịn lại sau xóa tập 1000 điểm Hình 4.3 Số điểm cịn lại sau xóa tập 5000 điểm 47 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 4.4 4.2 Số điểm cịn lại sau xóa tập 10000 điểm Các kết tính tốn Ở chương ta trình bày số thuật tốn xóa điểm nhằm giảm bớt số lượng điểm tập hợp đầu vào Đồng thời đưa thuật toán Quickhull cải tiến với số kỹ thuật làm giảm bớt phép gọi Orient so với thuật toán Quickhull cũ Ở nhận xét 3.3 nêu cách tính Orient "thơng minh" làm giảm số phép tính nhằm mục đích giảm thời gian tính tốn thuật tốn Hình 4.5 bảng thời gian tính tốn minh họa thực nghiệm cho thuật toán nêu chương thực tập điểm tạo ngẫu nhiên hình trịn Kết bảng tính trung bình cộng từ ba lần chạy thuật tốn Ý nghĩa cột bảng sau: cột thời gian chạy thuật toán Quickhull cũ, cột thời gian chạy thuật toán Quickhull cải tiến bỏ phép lặp tính Orient (Quickhull cải tiến 1), cột thời gian chạy thuật tốn Quickhull cải tiến có kết hợp với việc tính Orient "thơng minh" (Quickhull cải tiến 2), cột 5, 6, tổng thời gian thuật toán Quickhull, Quickhull cải tiến 1, Quickhull cải tiến sau xóa điểm thời gian xóa điểm cột 48 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Hình 4.5 Bảng so sánh thời gian thuật tốn Hình 4.6 đồ thị so sánh thời gian chạy thuật tốn nêu bảng Hình 4.6 Đồ thị so sánh thời gian chạy thuật toán 49 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Ta dựa vào bảng số liệu sử dụng cơng thức tính trung bình nhân để đánh giá thời gian tăng tốc thuật toán Tức là, giả sử với liệu thứ i, (i = 1, , k), thuật toán Quickhull cải tiến chạy nhanh gấp fi lần thuật toán Quickhull, độ tăng tốc (theo nghĩa trung bình nhân) thuật √ tốn Quickhull cải tiến so với Quickhull M = k f1 f2 fk Với cách tính ta độ tăng tốc trung bình thuật tốn Quickhull cải tiến so với Quickhull xấp xỉ 1.305 lần, tức thời gian tính tốn thuật tốn Quickhull cải tiến 76.6% so với thời gian thuật toán Quickhull.Tương tự, độ tăng tốc trung bình thuật tốn Quickhull cải tiến 2, Quickhull xóa điểm, Quickhull xóa điểm cải tiến 1, Quickhull xóa điểm cải tiến so với thuật toán Quickhull 1.89, 1.18, 1.31, 1.46 Hay nói cách khác, thời gian tính tốn thuật tốn Quickhull cải tiến 2, Quickhull xóa điểm, Quickhull xóa điểm cải tiến 1, Quickhull xóa điểm cải tiến 52.9%, 84.2%, 76.3%, 68.3% so với thời gian thuật toán Quickhull Từ kết rõ ràng thuật toán Quickhull cải tiến tăng tốc mạnh Tuy nhiên, từ bảng kết trên, ta thấy với tập điểm liệu đầu vào có số lượng điểm lớn thuật tốn Quickhull, Quickhull cải tiến 1, Quickhull cải tiến không cho kết Trong thuật tốn Quickhull có xóa điểm thực Như vậy, áp dụng thuật tốn xóa điểm, ta khơng tăng tốc mặt thời gian cho thuật toán quickhull, mà thuật tốn cịn thực tập điểm có số lượng lớn 50 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Kết luận Luận văn trình bày số vấn đề liên quan đến toán tìm bao lồi tập hợp điểm mặt phẳng Bài tốn tìm bao lồi tập hợp điểm mặt phẳng phát biểu chương Tầm quan trọng toán thể qua ứng dụng đa dạng thực tế, chẳng hạn lĩnh vực nhận dạng, tốn tìm đường ngắn cho robot, hệ thống thông tin địa lý GIS, thống kê hay toán tìm đường kính tập hợp điểm Cơ sở lý thuyết việc áp dụng tốn tìm bao lồi ứng dụng trình bày chương Chương trình bày số thuật tốn giải tốn tìm bao lồi tập hợp điểm mặt phẳng thuật tốn gói q, thuật tốn qt Graham, thuật tốn Quickhull thuật toán Chan Thuật toán Quickhull số cải tiến thuật tốn trình bày chương Các cải tiến nhằm mục đích giảm số lượng phép tốn (Orient) tính tốn, giảm thời gian chạy chương trình Một hướng cải tiến quan trọng giảm lượng điểm đầu vào cho toán tìm bao lồi việc áp dụng thuật tốn xóa điểm Thuật tốn xóa điểm tìm điểm cực tập hợp điểm ban đầu, sau khai thác tính chất điểm cực để xóa điểm nằm đa giác điểm cực, nhờ loại điểm không cần thiết áp dụng thuật tốn tìm bao lồi Chương cịn trình bày cải tiến cho thuật toán Quickhull số kỹ thuật giúp giảm số lượng phép tính Chương nêu kết thử nghiệm thuật tốn tìm bao lồi trình bày chương Với liệu điểm đầu vào tương đối tốt khách quan, thuật tốn cải tiến tốt nhanh thuật toán Quickhull gấp 1,92 lần Và kết tốt thuật tốn xóa đểm mang lại thuật toán Quickhull Quickhull cải tiến sau áp dụng thuật tốn xóa điểm thực tập điểm lớn không áp dụng xóa điểm Như vậy, cải tiến trình bày chương thực mang lại hiệu tốc độ khả 51 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn tính toán cho thuật toán Quickhull Trong thời gian tới, chúng tơi tiếp tục thử nghiệm thuật tốn tìm bao lồi khác, đánh giá tác động việc áp dụng thuật tốn xóa điểm trước thực thuật tốn tìm bao lồi Chúng tơi nghiên cứu việc mở rộng thuật toán cho tốn tìm bao lồi tập điểm khơng gian nhiều chiều 52 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Tài liệu tham khảo [1] Phan Thành An and Lê Hồng Trang, A parallel algorithm based on convexity for the computing of Delaunay tessellation, Numerical Algorithms, Springer, 2012 [2] Administrator, Ứng dụng GIS - Hệ thống thông tin địa lý ngành, tháng 11/2008 [3] C Bradford Barber, David P Dobkin and Hannu Huhdanpaa, The Quickhull Algorithm for Convex Hulls, University of Minnesota, 1996 [4] A Bykat, Convex hull of a finite set of points in two dimensions, Information Processing Letters, 296-298, 1978 [5] Timothy M Chan, Optimal Output-Sensitive Convex Hull Algorithms in Two and Three Dimensions, Discrete Comput Geom, 361-368, 1996 [6] William F Eddy, A new convex hull algorithm for planar sets, ACM Trans, Math, 398-403, 1977 [7] B.K Elgindy and Bhattacharya, A new linear convex hull algorithm for simple polygons IEEE Transactions on Information Theory, 81–88, 1984 [8] R.L Graham, An efficient algorithm for determining the convex hull of a finite planar set, 1972 [9] Ronald L Graham and Frances Yao, Finding the Convex Hull of a Simple Polygon, Department of Computer Science, Stanford University, 1981 [10] Phạm Ngọc Hà, Các mơ hình liệu Gis, 2008 http://my.opera.com/hapn2/blog/ [11] R.A Jarvis, On the identification of the convex hull of a finite set of points in the plane, 18-21, 1973 53 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn [12] Yan-Bin Jia and Huan Lin, On the Convex Hulls of Parametric Plane Curves, Department of Computer Science, 2012 [13] David M Mount, Computational Geometry, University of Maryland, 11-19, 2002 [14] Trần Bình Nguyên, Hệ thống nhận diện biển số xe, 2011 http://www.ieev.org/2011/01/tong-quan-ve-he-thong-nhan-dien-bang-so html#comment-post-message [15] J O’Rourke, Computational Geometry in C, 2nd edn, Cambridge University Press, Cambridge, 1998 [16] Sheldon M Ross, Introduction to Probability Models, 10th edition, Elsevier, 2010 [17] F.P Preparata and M.I Shamos, Computational Geometry: An Introduction, Springer-Verlag New York Inc, 1985 [18] Suneeta Ramaswami, Convex Hulls: Complexity and Applications (A Survey), University of Pennsylvania, 1993 [19] Trần Vũ Thiệu, Cơ sở giải tích lồi, Viện tốn học, Hà Nội 4-2011 [20] Cormen H Thomas, Leiserson E Charles, Rivest L Ronald and Stein Clifford, Introduction to algorithms, 3rd edn, The MIT Press, American, 2001 54 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn ... lục Bài tốn tìm bao lồi ứng dụng 1.1 Bài tốn tìm bao lồi 1.1.1 Tập lồi 1.1.2 Bao lồi 1.1.3 Bài toán tìm bao lồi 1.2 Ứng dụng toán. .. Trong mặt phẳng, đa giác tạo đỉnh bao lồi gọi biên bao lồi 1.1.3 Bài tốn tìm bao lồi Cho tập hợp P hữu hạn điểm, tốn tìm bao lồi P tốn tìm tập hợp H đỉnh bao lồi conv(P ) P Input: Tập hợp P hữu... Chương Bài tốn tìm bao lồi ứng dụng Như biết, tốn tìm bao lồi toán đặc biệt quan trọng lĩnh vực hình học tính tốn Chương phát biểu tốn tìm bao lồi đưa số ứng dụng quan trọng toán thực tế 1.1 Bài