Một thuật toán hữu hiệu tìm đường ngắn nhất giữa hai đỉnh trong đa giác đơn điệu

51 521 0
Một thuật toán hữu hiệu tìm đường ngắn nhất giữa hai đỉnh trong đa giác đơn điệu

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

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

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH —— ◦ ◦ —— DƯƠNG QUỐC NAM MỘT THUẬT TOÁN HỮU HIỆU TÌM ĐƯỜNG NGẮN NHẤT GIỮA HAI ĐỈNH TRONG ĐA GIÁC ĐƠN ĐIỆU Chun ngành: Hình học - Tơpơ Mã số : 60.46.10 LUẬN VĂN THẠC SỸ TOÁN HỌC Người hướng dẫn khoa học: TS PHAN THÀNH AN Vinh - 2008 Mục lục Mở đầu Kiến thức sở 1.1 1.2 Tập lồi, bao lồi, điểm cực biên Đường gấp khúc đơn điệu đa giác đơn điệu 11 1.3 Độ phức tạp thuật toán 14 1.4 1.3.1 Định nghĩa tính chất 1.3.2 Cách tính độ phức tạp thuật tốn Thuật toán tăng dần tìm bao lồi 14 17 19 1.4.1 1.4.2 Thuật toán tổng quát Thuật tốn Melkman tìm bao lồi đường gấp khúc không tự cắt 19 Thuật tốn tìm tiếp tuyến O’Rourke 23 Thuật tốn tìm link 2.1 Bao lồi tiền vi phạm 25 25 2.1.1 Mô tả bao lồi tiền vi phạm 2.1.2 Thuật toán FQ(X , Y) tìm bao lồi tiền vi phạm Thuật tốn tìm link 25 26 29 2.2.1 2.2.2 2.2.3 Khái niệm link Thuật tốn tìm link Tính đắn thuật tốn 29 30 31 2.2.4 Ví dụ minh họa thuật tốn tìm link 32 1.5 2.2 20 3 Đường ngắn hai đỉnh đa giác đơn điệu 34 3.1 Thuật tốn 35 3.2 Tính đắn thuật tốn 36 3.2.1 3.2.2 Một số tính chất Tính đắn thuật tốn 36 38 3.2.3 Độ phức tạp thuật tốn 40 Ví dụ minh họa So sánh thuật toán KTGP thuật toán Lee Preparata 41 Kết luận Tài liệu tham khảo 47 49 3.3 3.4 41 Danh sách hình vẽ 1.1 1.2 Điểm nằm bên trái bên phải đường thẳng Minh hoạ khái niệm đa giác 12 12 1.3 1.4 1.5 Minh hoạ đường gấp khúc đơn điệu đa giác đơn điệu Mô tả quan hệ gữa hai hàm c.g(n) f (n) Minh hoạ thuật toán tăng dần tìm bao lồi 13 15 19 1.6 1.7 Mô tả đường gấp khúc không tự cắt Mô tả q trình tìm bao lồi theo thuật tốn Melkman 20 22 1.8 Minh hoạ thuật tốn tìm tiếp tuyến O’Rourke 24 2.1 2.2 2.3 Minh họa bao lồi tiền vi phạm Minh họa Mệnh đề 2.1.1 (p8 nằm Q7 ) Minh họa Mệnh đề 2.1.2 26 27 28 2.4 Mô tả đường link (đoạn kẻ đậm) 29 2.5 2.6 Minh hoạ trình tìm link Minh hoạ ví dụ tìm link 30 32 3.1 Minh họa tốn 34 3.2 3.3 Mô tả TC(X )= < a, , u∗ > Minh họa Mệnh đề 3.2.3 35 38 3.4 Chiều dài Z ∗ lớn chiều dài Z 39 3.5 3.6 Chiều dài Zi∗ lớn chiều dài Zi 39 Đường ngắn Z = [a, p2 ] ∪ [p2 , p7 ] ∪ [u∗ , v ∗ ≡ b] 41 3.7 Minh họa đường ngắn Z = Z0 ∪ Z1 ∪ Z2 ∪ [u∗ , v ∗ ] 42 3.8 3.9 Tam giác phân miền đa giác PQ Cây đối ngẫu tương ứng với phép tam giác phân 43 44 3.10 Đường ngắn đối ngẫu 3.11 Minh họa đường ống tay 44 45 3.12 Minh họa đường ngắn Z 45 Mở đầu Vấn đề tìm đường tối ưu miền hình học vấn đề hình học tính tốn, có nhiều ứng dụng thiết thực như: chế tạo rơbơt, địa lí, tin học, công nghệ thông tin (xem [[19], trang 333-388]) Một dạng vấn đề xác định đường ngắn hai điểm đa giác đơn, (với khoảng cách theo chuẩn Euclidean) Đường ngắn có hiệu việc giải vấn đề tối ưu hóa tốn hình học mặt phẳng Tuy nhiên tới nay, phương pháp xác định đường ngắn hai điểm đa giác đơn biết, giới thiệu [10], [11], [12], [[19], trang 633-701], v.v khởi đầu phức tạp phải trải qua trình tam giác phân miền đa giác (phức tạp khơng thuận tiện tính tốn) Điều dẫn đến câu hỏi mở đưa vào năm 2000 J S B Mitchell [[19], trang 643]: Có thể đưa thuật tốn có độ phức tạp thời gian tuyến tính O(n) cho việc tìm đường ngắn hai đỉnh đa giác đơn (có n đỉnh) mà khơng cần đến tam giác phân miền đa giác? Trong [5],[6], ,[9] nghiên cứu câu hỏi mở Đặc biệt thuật tốn hữu hiệu trình bày [6] [7] dựa vào thuộc tính kéo căng sợi dây cao su để xác định đường dẫn ngắn Euclidean mặt phẳng hai đỉnh miền đa giác đơn điệu mà không sử dụng đến phép tam giác phân miền đa giác Luận văn chúng tơi cụ thể hóa chi tiết ý tưởng Luận văn gồm chương Chương Kiến thức sở Trong chương chúng tơi trình bày khái quát số kiến thức sở cho nội dung luận văn, bao gồm: Định nghĩa tập lồi, bao lồi, điểm cực biên bao lồi số tính chất Khái niệm đường gấp khúc đơn điệu đa giác đơn điệu đưa nhận xét quan trọng Khái niệm độ phức tạp cách tính độ phức tạp thuật tốn Trình bày thuật tốn tiếp tuyến bao lồi O’Ruorke; thuật tốn tăng dần tìm bao lồi tập hợp điểm nói chung trình bày chi tiết thuật tốn Melkman tìm bao lồi đường gấp khúc khơng tự cắt Chương Thuật tốn tìm link Trong chương chúng tơi xem xét, cụ thể hóa đưa thuật tốn tìm link, mắt xích quan trọng cho vấn đề tìm đường ngắn trình bày Chương 3, cụ thể: Nghiên cứu thuộc tính bao lồi tiền vi phạm [7] Trình bày chi tiết hóa thuật tốn F Q(X , Y) tìm bao lồi tiền vi phạm Q∗ , X Y Dựa vào ý tưởng [6] [7], xem xét nghiên cứu khái niệm link hai đường đơn điệu X Y, khái niệm TCL(X , Y) Khảo sát trình bày chi tiết thuật tốn tìm link đồng thời chứng minh tính đắn thuật tốn, độ phức tạp tính tốn đưa ví dụ minh họa Chương Đường ngắn hai đỉnh đa giác đơn điệu Trong chương trước hết chúng tơi nêu lên tốn chính, sau đưa thuật tốn để giải tốn nêu Chúng tơi sử dụng kết chương làm chương trình cho thuật tốn Đồng thời nêu lên số mệnh đề quan trọng nhằm phục vụ cho việc chứng minh tính đắn thuật tốn tính tốn độ phức tạp tính tốn thuật tốn Kết thúc cho luận văn chúng tơi đưa ví dụ áp dụng thuật tốn đồng thời so sánh với cách giải thuật toán Lee Preparata Các kết luận văn trình bày kiểm nghiệm Seminar phịng Giải tích số Tính tốn khoa học Viện Tốn học vào ngày 17/9 11/11 năm 2008 Luận văn hoàn thành hướng dẫn TS Phan Thành An Tác giả xin bày tỏ lòng biết ơn sâu sắc tới Thầy, người đặt vấn đề, hướng dẫn, giúp đỡ tác giả đạt kết Tác giả xin chân thành cảm ơn tới Thầy PGS.TS Nguyễn Hữu Quang, PGS.TS Phạm Ngọc Bội, TS Nguyễn Duy Bình người quan tâm giảng dạy động viên tác giả trình học tập làm luận văn Tác giả xin chân thành tỏ cảm ơn đến GS, PGS, TS, khoa Sau đại học Đại học Vinh, Viện Toán học, người tham gia quản lý, giảng dạy giúp đỡ hướng dẫn tác giả suốt trình học tập nghiên cứu Tác giả gửi lời cảm ơn tới anh Lê Đình Hậu (Khóa 13), anh Đoàn Văn Thanh (bạn học viên), tập thể K14 Hình học - Tơpơ, quan cơng tác, gia đình, bạn bè đồng nghiệp động viên khích lệ giúp đỡ trình học tập hoàn thành luận văn Chương Kiến thức sở 1.1 Tập lồi, bao lồi, điểm cực biên Định nghĩa 1.1.1 (xem [20]) Một tập A ⊂ Rn gọi tập lồi ∀ x1 , x2 ∈ A [x1 , x2 ] = {λx1 + (1 − λ)x2 : ≤ λ ≤ 1} ⊂ A Ví dụ 1.1.1 Hình cầu mở B(x, r) tâm x bán kính r > 0, nửa khơng gian tập lồi Định nghĩa 1.1.2 ( xem [13]) Một tổ hợp lồi x1 , x2 , , xn ∈ Rn tổng có dạng λ1 x1 + + λk xk + λk+1 xk+1 , với ∀λi ≥ 0, (i = 1, k + 1), cho k+1 i=1 λi = Mệnh đề 1.1.1 (xem [3]) A ⊂ Rn tập lồi; x1 , x2 , , xn ∈ A Khi ∀λi 0, n i=1 αi = n i=1 λi xi ∈ A Chứng minh Ta chứng minh mệnh đề phương pháp quy nạp Nếu m = 2, với λ1 , λ2 ≥ 0, λ1 + λ2 = 1; x1 , x2 ∈ A Theo định nghĩa ta ln có λ1 x1 + λ2 x2 ∈ A Giả sử mệnh đề với m = k, ∀k ≥ ta cần chứng minh mệnh đề với m = k + 1, nghĩa ∀x1 , x2 , , xk+1 ∈ A, ∀λi ≥ 0, (i = 1, k + 1), k+1 i=1 λi = 1, x := λ1 x1 + + λk xk + λk+1 xk+1 ∈ A Khơng tính tổng qt ta giả sử ≤ λk+1 < 1, (vì λk+1 = λ1 = = λk = suy ta có x ∈ A) 10 Khi − λk+1 = λ1 + + λk > 0, Suy = Vậy k+1 i=1 λi 1−λk+1 λ1 1−λk+1 + + λk 1−λk+1 = k+1 i=1 λi ≥ 0, (i = 1, , k) − λk+1 λi 1−λk+1 = nên theo giả thuyết ta có y := k+1 i=1 λi 1−λk+1 xi ∈ A Với điểm y ∈ A xk+1 ∈ A, ta có − λk+1 > 0, kết hợp với (1 − λk+1 ) + λk+1 = Do x = (1 − λk+1 )y + λk+1 xk+1 ∈ A Định nghĩa 1.1.3 (xem [20]) Cho tập A không gian Rn - Giao tất tập lồi chứa A gọi bao lồi A Kí hiệu convA - Giao tất tập lồi đóng chứa A gọi bao đóng A Kí hiệu convA Nhận xét 1.1.1 (xem [20]) (i) convA tập lồi nhỏ chứa A (ii) A tập lồi ⇔ convA = A (iii) convA tập lồi đóng nhỏ chứa A Mệnh đề 1.1.2 (xem [20]) Tập A lồi A chứa tất tổ hợp lồi Định lí 1.1.1 (Định lí Caratheodory)(xem [3]) Bao lồi tập A không gian Rk tập tất tổ hợp lồi không k + điểm A Định nghĩa 1.1.4 (xem [13]) Cho tập lồi M Điểm x ∈ M gọi điểm cực biên tập hợp M x ∈ [x1 , x2 ], x1 , x2 ∈ M x ≡ x1 x ≡ x2 Ví dụ 1.1.2 Nếu M đoạn thẳng điểm cực biên hai đầu mút, M tam giác điểm cực biên đỉnh tam giác, M tứ diện điểm cực biên đỉnh tứ diện 10 37 Chứng minh Do Y =< q0 , q1 , , qm−1 > đường gấp khúc đơn điệu theo phương L, nên tồn hệ trục toạ độ đề vng góc Oxy có trục hồnh phương với L cho hoành độ xi điểm qi thoã mãn xi < xi+1 với i = 0, m − Mà {q , q , , q k } tập đỉnh Y xếp theo thứ tự tăng dần số Y Nên hệ toạ độ Oxy xét, ta hiển nhiên có xi < xi+1 (với i = 0, k − 1) với xi hồnh độ q i Do Y ∗ =< q , q , , q k > đơn điệu theo phương L Mệnh đề 3.2.2 Nếu [u∗ , v ∗ ] link X =< p0 , p1 , , pn−1 > Y =< q0 , q1 , , qm−1 >, (v ∗ = qk ) Y ∗ = [u∗ , v ∗ ]∪ < qk , qk+1 , , qm−1 > đơn điệu Chứng minh Điều dễ dàng suy từ tính đơn điệu Y định nghĩa link Mệnh đề 3.2.3 (xem [7]) Trong đa giác đơn điệu X Y, [u∗ , v ∗ ] link của hai đường gấp khúc X =< p0 , p1 , , pn > chiều kim đồng hồ (tương ứng ngược chiều kim đồng hồ) đường gấp khúc đơn điệu Y =< q0 , q1 , , qm > ngược chiều kim đồng hồ (tương ứng chiều kim đồng hồ) Đặt Y ∗ =< u∗ , v ∗ ≡ qk , qk+1 , , qm > X ∗ =< u∗ , , pn−2 , pn−1 > Khi đó: a) u∗ điểm cực biên conv{Y ∗ =< u∗ , v ∗ ≡ qk , qk+1 , , qm >} b) [u∗ , v ∗ ] cạnh biên bên phải (tương ứng bên trái) bao lồi tiền vi phạm Y ∗ X ∗ Chứng minh a) Do Y ∗ đường gấp khúc đơn điệu, nên ta chọn hệ trục tọa độ đề vng góc Oxy cho trục hồnh có phương với phương đơn điệu Y ∗ suy điểm u∗ xa phía bên trái Vậy theo Mệnh đề 2.1.2 ta có u∗ điểm cực biên convY ∗ b) Ta kí hiệu Q∗Y bao lồi tiền vi phạm Y ∗ X ∗ Để chứng minh [u∗ , v ∗ ] cạnh biên bên phải Q∗Y ta cần chứng minh đỉnh cực biên Q∗Y nằm bên trái u∗ v ∗ 37 38 ur X Q∗ v∗ a b ul ∗ u Q∗Y Y pk Hình 3.3: Minh họa Mệnh đề 3.2.3 Thật vậy, [u∗ , v ∗ ] link nên tồn điểm Q∗Y nằm bên trái u∗ v ∗ điểm phải nằm bên phải pk pr Điều dẫn đến Q∗Y chứa đỉnh pk X ∗ Mâu thuẫn với giả thiết Q∗Y bao lồi tiền vi phạm Vậy nên bao lồi tiền vi phạm Q∗Y nhận [u∗ , v ∗ ] làm cạnh biên Định lí 3.2.1 Với đa giác đơn điệu PQ, tạo thành hai đường gấp khúc đơn điệu P =< a = p0 , p1 , , pn−1 = b > Q =< a = q0 , q1 , , qm−1 = b >, tồn đường ngắn nối hai đỉnh a b miền đa giác đơn điệu PQ, (xem [19] trang 639) 3.2.2 Tính đắn thuật tốn Tính đắn thuật tốn KTGP khẳng định thông qua Bổ đề Mệnh đề sau Bổ đề 3.2.1 Giả sử Z ∗ đường nối hai đỉnh đường gấp khúc Z, lồi ngược chiều kim đồng hồ cho tất đỉnh Z nằm nằm bên trái Z ∗ Khi đó, chiều dài Z ∗ lớn chiều dài Z, (minh họa hình 3.4) Chứng minh Việc chứng minh suy dễ dàng từ bất đẳng thức tam giác 38 39 Z∗ ui−1 u1 ui uk Z u0 ui+1 Hình 3.4: Chiều dài Z ∗ lớn chiều dài Z l Mệnh đề 3.2.4 Đường gấp khúc, Z = j=0 Zj [u∗ , v ∗ ], thuật toán KTGP, đường ngắn nối hai đỉnh a b miền đa giác PQ Chứng minh Thật vậy, giả sử ngược lại tồn Z ∗ đường ngắn nối hai đỉnh a b hai nằm miền đa giác PQ Ta xét phần đường gấp khúc Z link [u∗i , vi∗ ] đến link ∗ [u∗i+1 , vi+1 ] Do Z ∗ nằm miền đa giác PQ, nên Z ∗ phải cắt ∗ link [u∗i , vi∗ ] [u∗i+1 , vi+1 ] hai điểm zi , zi+1 , (minh họa hình 3.5) Zi X vi∗ u∗i Zi∗ u∗i+1 zi zi+1 ∗ vi+1 Z∗ Y Hình 3.5: Chiều dài Zi∗ lớn chiều dài Zi Bây xem xét đường gấp khúc Zi phần đường gấp khúc Zi zi đến u∗i+1 [u∗i+1 , zi+1 ] Khi rõ 39 40 ràng Zi đường gấp khúc lồi Khi ta có Z = l i=0 Zi [zl , b] (∗) Ta gọi phần đường Z ∗ zi đến zi+1 Zi∗ Khi ∗ ta có Z = l i=0 Zi∗ [zl , b] (∗∗) Áp dụng Bổ đề 3.2.1 Zi∗ Zi , suy Zi∗ có chiều dài ln lớn chiều dài Zi Kết hợp với (∗) (∗∗) Z ∗ khơng thể ngắn đường gấp khúc Z Hay Z tìm theo thuật tốn ngắn Như vậy, theo Mệnh đề 3.2.4 đường gấp khúc Z = l j=0 Zj [u∗ , v ∗ ] mà ta tìm theo thuật tốn ngắn thuộc miền đa giác đơn điệu PQ Tiếp theo ta thuật tốn dừng sau hữu hạn bước Điều hiển nhiên, số đỉnh P Q hữu hạn Mặt khác theo thuật tốn sau tìm Zl = TC(X ) ta ln đặt lại X =< u∗ , v ∗ , , b > Y =< u∗ , , b >, nên số đỉnh từ a đến u∗ dây P số đỉnh từ a đến v ∗ dây Q (ngoại trừ hai đỉnh u∗ v ∗ ) bỏ khơng lặp lại q trình tìm Zl+1 = TC(X ) Tính Z suy Định lí 3.2.1 3.2.3 Độ phức tạp thuật tốn Ta kí hiệu số đỉnh đường gấp khúc X |X| Trong thuật toán, bước (1) thực phép gán nên có phức tạp toán tử sở O(1) Trong bước (2) liên tiếp thực TCL(X , Y) bao gồm việc tìm bao lồi tiền vi phạm Q∗ link [u∗ , v ∗ ] nên lần có độ phức tạp O(|X||Y |), (xem mục 2.2.3) Trong trường hợp có link thời gian tính tốn lớn Do từ ta có độ phức tạp tính tốn thuật tốn O(|P ||Q|) 40 41 3.3 Ví dụ minh họa Trong mục chúng tơi đưa ví dụ cho trường hợp tốn có link nhất, trường hợp có nhiều link nêu Ví dụ 3.4.1, mục 3.4 Ví dụ 3.3.1 Cho đa giác đơn điệu PQ tạo thành hai đường gấp khúc P =< a ≡ p0 , p1 , , p9 ≡ b > Q =< a ≡ q0 , q1 , , q7 ≡ b > Tìm đường ngắn nhất, Z, miền đa giác PQ nối hai điểm a b p4 p6 p5 a p2 P p8 p1 v∗ = b Z p3 u∗ = p7 q2 q4 Q q3 q1 q5 Hình 3.6: Đường ngắn Z = [a, p2 ] ∪ [p2 , p7 ] ∪ [u∗ , v ∗ ≡ b] Bắt đầu ta đặt l := 0, X = P, Y = Q Khi tìm bao lồi tiền vi phạm X Y ta nhận bao lồi tiền vi phạm Q∗ = Q8 Từ tìm link [u∗ , v ∗ ] = [p7 , b] TC(X ) = Z0 = [a, p2 ] ∪ [p2 , p7 ] Như v ∗ ≡ b, nên có đường ngắn Z = Z0 ∪ [u∗ , v ∗ ] = [a, p2 ] ∪ [p2 , p7 ] ∪ [p7 , b] 3.4 So sánh thuật toán KTGP thuật tốn Lee Preparata Đã có nhiều thuật tốn tìm đường ngắn hai đỉnh miền đa giác đơn Một thật toán đánh giá cao thuật toán Lee Preparata, (xem [12]) Để thấy rõ tính hữu hiệu thuật tốn khơng sử dụng phép tam giác phân, sau chúng 41 42 so sánh thuật với thuật tốn Lee Preparata thơng qua ví dụ cụ thể sau Ví dụ 3.4.1 Cho đa giác đơn điệu PQ tạo thành hai đường gấp khúc P =< a ≡ p0 , p1 , , p30 ≡ b > Q =< a ≡ q0 , q1 , , q23 ≡ b > Tìm đường ngắn nhất, Z, miền đa giác PQ nối hai điểm a b Tìm đường ngắn Z theo thuật toán KTGP Bắt đầu ta đặt l := 0, X = P, Y = Q Khi tìm bao lồi tiền vi phạm X Y ta Q∗ =conv{p0 , p1 , , p15 }, thực TCL(X , Y) ta nhận Z0 =TC(X )=[a = p0 , p2 ] ∪ [p2 , p4 ] ∪ [p4 , p7 ] ∪ [p7 , p12 ] ∪ [p12 , p14 ] link [u∗ , v ∗ ] = [p14 , q8 ], (minh họa hình 3.7) p15 P p8 p3 p1 p16 q10 Z1 q13 p5 a p6 p9 p2 p10 p4 Z0 b p25 p20 q11 q12 u∗ p29 q15 p19 p22 p24 p28 u∗ p12 q3 Q q1 v∗ p27 p17 u∗ p13 p11 p18 p7 q7 q4 q6 q2 v∗ q9 p21 q18 q5 q14 p23 Z2 q17 p26 q20 q21 q19 q22 Hình 3.7: Minh họa đường ngắn Z = Z0 ∪ Z1 ∪ Z2 ∪ [u∗ , v ∗ ] Tiếp theo, v ∗ = b, nên ta đặt lại l := 1, X =< u∗ , v ∗ , , b >, Y =< u∗ , , b > Tìm bao lồi tiền vi phạm X Y ta nhận Q∗ =conv{u∗ , v ∗ = q8 , , q18 }, lại thực TCL(X , Y) ta nhận Z1 =TC(X )=[p14 , q8 ]∪[q8 , q10 ]∪[q10 , q13 ]∪[q13 , q16 ] link [u∗ , v ∗ ] = [q16 , q21 ], (minh họa hình 3.7) 42 43 Hồn tồn tương tự, có Z2 =TC(X )=[q16 , p21 ] ∪ [p21 , p23 ] ∪ [p23 , p28 ] link [u∗ , v ∗ ] = [p28 , b] Khi này, ta nhận thấy v ∗ = b, nên q trình tìm đường ngắn hồn tất, (minh họa hình 3.7) Đường ngắn Z = Z0 ∪ Z1 ∪ Z2 ∪ [u∗ , v ∗ ]=[a = p0 , p2 ] ∪ [p2 , p4 ] ∪ [p4 , p7 ] ∪ [p7 , p12 ] ∪ [p12 , p14 ] ∪ [p14 , q8 ] ∪ [q8 , q10 ] ∪ [q10 , q13 ] ∪ [q13 , q16 ] ∪ [q16 , p21 ] ∪ [p21 , p23 ] ∪ [p23 , p28 ] ∪ [p28 , b], (minh họa hình 3.7) Tìm đường ngắn Z theo thuật tốn Lee Preparata Để tìm đường ngắn nhất, Z, miền đa giác PQ nối hai điểm a b đa giác đơn điệu PQ theo thuật toán Lee Preparata cần phải thực bước sau Bước Tam giác phân miền đa giác đơn điệu PQ, (xem [18], trang 51 ), (minh họa hình 3.8) p15 P p8 p3 p1 p16 p5 q16 q8 p6 q11 p9 p10 p14 p2 p4 q12 q15 b p25 p20 p19 p22 p24 p28 p12 q3 Q q1 p29 p17 p13 a p27 q13 q10 p11 p18 p7 p21 q7 q4 p23 q6 q2 q9 p26 q18 q5 q17 q14 Hình 3.8: Tam giác phân miền đa giác PQ 43 q19 q20 q21 44 Bước Xét đối ngẫu tương ứng với phép tam giác phân thực bước 1, (xem [12], trang 395 ), (minh họa hình 3.9) p15 P p8 p3 p1 p16 q13 q10 p5 p10 p4 b p25 p20 q11 p9 p2 q12 q15 p19 p22 p24 p28 p12 p7 q3 p21 q7 q4 Q p26 p23 q9 q6 q2 q1 p29 p11 p6 p27 p17 p13 a p18 q18 q5 q19 q17 q14 q20 q21 Hình 3.9: Cây đối ngẫu tương ứng với phép tam giác phân Bước Dùng thuật tốn Dijstra, (xem [4] ) tìm đường ngắn đối ngẫu thực bước từ nốt a∗ đến nốt b∗ , (a∗ b∗ tương ứng hai nốt nằm hai miền tam giác có chứa đỉnh a đỉnh b ), (minh họa hình 3.10) p15 P p3 p1 a p8 p16 q13 q10 p5 p9 p2 p25 p10 q12 q15 p19 p22 p12 q3 Q q2 p7 q6 p24 p21 q7 q4 b∗ p20 q11 p4 q1 p29 p11 p6 p27 p17 p13 a∗ p18 p23 q9 p28 p26 q18 q5 q14 q17 Hình 3.10: Đường ngắn đối ngẫu 44 q19 q20 q21 b 45 Bước Từ đường ngắn đối ngẫu đưa hình ống tay (Sleeve), (xem [12], trang 396 ) Khi đường ngắn nằm hình ống tay, (minh họa hình 3.11) p15 P p1 p8 p3 p16 q13 q10 p5 p9 p2 p10 p7 q15 p19 p 22 p28 p23 q9 q6 p24 p21 q7 q4 q2 q1 q12 p12 q3 b p25 p20 q11 p4 Q p29 p11 p6 p27 p17 p13 a p18 q18 q5 q19 q17 q14 p26 q20 q21 Hình 3.11: Minh họa đường ống tay Bước Dùng thuật toán hình phễu, (funnel), (xem [10] ), để xác định đường ngắn nhất, (minh họa hình 3.12) p15 P p8 p3 p1 p16 q13 q10 p5 p9 p2 p10 Q q1 q12 q15 p19 p22 p12 q3 q2 p7 q6 p24 p28 p21 q7 q4 b p20 q11 p4 p29 p25 p11 p6 p27 p17 p13 a p18 p23 q9 q18 q5 q14 Hình 3.12: Minh họa đường ngắn Z 45 q17 q19 p26 q20 q21 46 Như thuật tốn chúng tơi trình bày luận văn phương pháp để tìm đường ngắn hai đỉnh miền đa giác đơn điệu mà khơng phải trải qua q trình sau: tam giác phân miền đa giác, đối ngẫu, sử dụng lí thuyết đồ thị thuật tốn phễu 46 Kết luận Trong luận văn này, chúng tơi trình bày chi tiết nội dung thuật tốn tìm đường ngắn hai đỉnh đa giác đơn điệu đạt số kết quả, đưa số hướng nghiên cứu thời gian tới, cụ thể: Kết đạt • Nêu lên chứng minh Nhận xét 1.2.1 tính chất đường gấp khúc đơn điệu • Trình bày chi tiết thuật tốn Melkman tìm bao lồi đường gấp khúc không tự cắt mặt phẳng, đưa ví dụ minh họa • Xem xét nghiên cứu bao lồi tiền vi phạm từ hồn thiện thuật tốn FQ(X , Y) • Phát biểu chứng minh Mệnh đề 2.1.1, 2.1.2, 2.1.3 làm sở cho việc chứng minh tính đắn tính độ phức tạp thuật tốn FQ(X , Y) • Chi tiết hóa thuật tốn tìm link, chứng minh tính đắn thuật tốn, tính độ phức tạp thuật tốn đồng thời nêu ví dụ minh họa • Hồn thiện thuật tốn chính, nêu lên chứng minh Mệnh đề 3.2.1, 3.2.2, 3.2.3, 3.2.4 Bổ đề 3.2.1 làm sở từ chứng minh tính đắn thuật tốn Tính độ phức tạp thuật tốn Nêu ví dụ áp dụng thuật tốn 48 • So sánh thuật tốn khơng dùng phép tam giác phân với thuật tốn Lee Preparata Những vấn đề tiếp tục nghiên cứu • Lập trình thực thi máy tính thuật tốn Tìm phương pháp giảm độ phức tạp thuật tốn • Mở rộng thuật tốn cho trường hợp đa giác đa giác đơn điệu • Nghiên cứu vấn đề tương tự khơng gian chiều 48 Tài liệu tham khảo Tài liệu tiếng Việt: [1] P T An, Bài giảng hình học tính tốn, Viện Tốn học, (2007) [2] N H Điển, Một số vấn đề thuật toán, NXB Giáo Dục, (2005) [3] Đ V Lưu P H Khải, Giải tích lồi, NXB Khoa học Kỹ thuật, Hà Nội, (2000) [4] N H Ngự, Lý thuyết đồ thị, NXB Đại học Quốc Gia Hà Nội, (2001) Tài liệu tiếng Anh: [5] P T An, A modification of Graham’s algorithm for determining the convex hull of a finite planar set, Annales Mathematicae et Informaticae, 34 (2007) pp 3-8 [6] P T An, An algorithm for finding the Euclidean shortest path between two points in a simple polygon without triangulation, Seminar at Institute of Mathematics, Hanoi, (2007) [7] P T An, An efficient algorithm for determining the convex ropes between two vertices of a simple polygon without triangulation, The Abdus Salam International Centre for Theoretical Physics (ICTP), Trieste, Italy, Preprint, (6/2008) [8] P T An, Method of orienting curves for determining the convex hull of a finite set of points in the plane, Optimization, first e-published on October 15, 2008 49 50 [9] P T An, Some applications of optimal control problems in computational geometry (invited talk), Seminar at CEMAT, Instituto Superior Tecnico, Lisbon, Portugal, October 14-22, 2008 [10] L Guibas, J Hershberger, D Leven, M Sharir, and R E Tarjan, Linear-time algorithms for visibility and shortest path problems inside triangulated simple polygons, Algorithmica, (1987) pp 209233 [11] J Hershberger, A new data structure for shortest path queries in a simple polygon, Information Processing Letters, 38 (1991) pp 231235 [12] D T Lee and F P Preparata, Educidean Shortest Paths in the Presence of Rectilinear Barriers, John Wiley & Sons, (1984) [13] S R Ley, Convex Sets and Their Applications, John Wiley & Sons, (1982) [14] F Li and R Klette, Finding the shortest path between two points in a simple polygon by applying a rubberband algorithm, in "Advances in Image and Video Technology, First Pacific Rim Symposium", Hsinchu, Taiwan, December 10-13, (2006), Proceedings, Lecture Notes in Computer Science, Springer 4319 (2006) pp 280-291 [15] A A Melkman, On-line Construction of the convex hull of a simple polyline, Information Processing Letters 25 (1987), 11-12, NorthHolland [16] E A Melissaratos and D L Souvaine, Shortest paths helps solve geometric optimization problems in planar regions, SIAM J Comput, 21 (1992) pp 601-638 [17] J Mitchell, Melkman’s Convex Hull Algorithm, AMS 345/CSE 355 [18] J O’Rourke, Computational Geometry in C, Cambridge University Press, (1998) 50 51 [19] J R Sack and J Urrutia, Handbook of Computational Geometry, Elsevier Science B V, (2000) [20] F A Valentine, Convex Sets, McGraw-Hill, New York, (1964) 51 ... 3.7) Tìm đường ngắn Z theo thuật toán Lee Preparata Để tìm đường ngắn nhất, Z, miền đa giác PQ nối hai điểm a b đa giác đơn điệu PQ theo thuật toán Lee Preparata cần phải thực bước sau Bước Tam giác. .. đa giác gọi đơn điệu đa giác đơn biên hợp thành từ hai đường gấp khúc đơn điệu theo phương p4 p1 p3 pi P P pn−2 pi−1 L a L p0 p2 pi+1 b pn−1 đường gấp khúc đơn điệu Q đa giác đơn điệu Hình 1.3:... hoạ đường gấp khúc đơn điệu đa giác đơn điệu Trong luận văn này, không xét trường hợp đường gấp khúc đơn điệu có cạnh nằm đường thẳng vng góc với phương đơn điệu Từ định nghĩa đường gấp khúc đơn

Ngày đăng: 15/12/2015, 11:06

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan