NHIỆM VỤ VÀ NỘI DUNG Kiến thức cơ sở: Phân tích phương pháp bắn nhiều lần và đơn giản hóa đường gấp khúc trong hình học tính toán. Ứng dụng: Tìm đường đi từ p đến q dọc theo dãy đoạn t
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC BÁCH KHOA
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 06 năm 2024
Trang 2Luận văn này được hoàn thành tại: Trường Đại học Bách Khoa - HCM
ĐHQG-Cán bộ hướng dẫn khoa học: PGS.TS Phan Thành An
Cán bộ chấm Phản biện 1: TS Nguyễn Tiến Dũng
Cán bộ chấm Phản biện 2: PGS.TS Nguyễn Huy Tuấn
Luận văn thạc sĩ này được bảo vệ tại Trường Đại học Bách Khoa, Đại học Quốcgia TP Hồ Chí Minh, ngày 22 tháng 06 năm 2024.
Thành phần Hội đồng đánh giá luận văn bao gồm:1 Chủ tịch: PGS.TS Nguyễn Đình Huy
2 Thư ký: TS Phan Thị Hường3 Phản biện 1: TS Nguyễn Tiến Dũng4 Phản biện 2: PGS.TS Nguyễn Huy Tuấn5 Ủy viên: PGS.TS Cao Thanh Tình
Xác nhận của chủ tịch Hội đồng đánh giá luận văn và trưởng Khoa quản lýchuyên ngành sau khi luận văn đã chỉnh sửa (nếu có).
ỨNG DỤNG
PGS TS NGUYỄN ĐÌNH HUY
Trang 3Đại học Quốc gia TP Hồ Chí MinhCộng hòa xã hội chủ nghĩa Việt Nam
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Ngày, tháng, năm sinh:10/02/1983Nơi sinh: Quảng Ngãi
I TÊN ĐỀ TÀI: Đơn giản hóa đường gấp khúc với ràng buộc góc cho robottự hành( Polygonal path simplification with angle constraints for autonomousrobots).
NHIỆM VỤ VÀ NỘI DUNG Kiến thức cơ sở: Phân tích phương pháp bắn nhiều lần và đơn giản hóa
đường gấp khúc trong hình học tính toán. Ứng dụng: Tìm đường đi từ p đến q dọc theo dãy đoạn thẳng F đã cho
áp dụng cho robot tự hành.II NGÀY GIAO NHIỆM VỤ: 15/01/2024III NGÀY HOÀN THÀNH NHIỆM VỤ: 20/05/2024IV CÁN BỘ HƯỚNG DẪN: PGS.TS PHAN THÀNH AN
TP Hồ Chí Minh, ngày tháng năm
TRƯỞNG KHOA KHOA HỌC ỨNG DỤNG
Trang 4Lời cảm ơn
Tôi rất vui và tự hào được viết lời cảm ơn đến PGS.TS Phan Thành An, người đãhướng dẫn và hỗ trợ tôi trong quá trình thực hiện luận văn thạc sĩ Thầy đã là mộtnguồn cảm hứng lớn và đã đóng góp không nhỏ vào sự phát triển của tôi trong suốtthời gian qua Trong suốt quá trình nghiên cứu và viết luận văn, thầy đã luôn dànhthời gian hướng dẫn và chỉ dẫn tôi Thầy đã giúp tôi hiểu sâu hơn về chủ đề của luậnvăn, đưa ra các gợi ý quan trọng và phản hồi chính xác để giúp tôi cải thiện nội dungvà phương pháp nghiên cứu Một lần nữa tôi muốn bày tỏ lòng biết ơn sâu sắc đếnthầy Tiếp theo tôi xin cảm ơn sự hỗ trợ của NAFOSTED trong khuôn khổ đề tài "Cácthuật toán hiệu quả cho một số bài toán tối ưu hình học có dữ liệu rời rạc và một sốứng dụng trong kỹ thuật" MS: 102.01-2023.48 Ngoài ra tôi muốn gởi lời cảm ơn đếnquý thầy cô ở Viện Toán học và các Khoa học Tính toán vì sự hỗ trợ tận tình trongquá trình học tập và nghiên cứu ở Viện.
Lời cảm ơn tiếp theo, tôi xin chân thành cảm ơn tất cả quý thầy cô trong Bộ mônToán ứng dụng, Khoa Khoa học ứng dụng, Trường Đại học Bách Khoa, thành phố HồChí Minh đã hết lòng giảng dạy và truyền thụ kiến thức giúp tôi có một nền tảng kiếnthức khoa học để thực hiện Luận văn.
Cuối cùng, tôi xin cảm ơn vợ và con tôi, người đã ủng hộ và hỗ trợ tôi trong suốtquá trình học cũng như quá trình thực hiện và hoàn thành luận văn.
Tôi xin chân thành cảm ơn !
TP Hồ Chí Minh, ngày 3 tháng 7 năm 2024
Người thực hiện luận văn
Trần Văn Thắng
i
Trang 5Chương 2: Cho dãy F = {a0, a1, a2, aN +1} (với N ≥ 1), trong đó p = a0
và q = aN +1 là 2 điểm đầu và cuối của dãy Trình bày lại phương pháp bắnnhiều lần và áp dụng tìm đường P nối từ p đến q dọc theo dãy F ngắn hơn
γ0 = {a0, a1, a2, aN +1} ban đầu ([2]).Chương 3: Trình bày lại phương pháp đơn giản hóa đường gấp khúc vớiràng buộc góc quay tối thiểu Từ đường gấp khúc P= (p1, p2, , pn) có n là sốđỉnh, Rε [pij, pij+1], với ε > 0 thành đường gấp khúc P0= (pi1, pi2, , pim) với(m <= n) ([4])
ii
Trang 6Chapter 2: Given a sequenceF = {a0, a1, a2, , aN +1}(with N ≥ 1), where
p = a0 andq = aN +1 are the initial and final points of the sequence Reviews themultiple shooting method and applies it to find a path P from p to q along thesequence F that is shorter than the initial γ0= {a0, a1, a2, , aN +1} ([2])
Chapter 3: Reviews the method of simplifying a polygonal line with aminimal turning angle constraint From the polygonal line P = (p1, p2, , pn)
with n vertices, Rε pij, pij+1, with ε ≥ 0, to the simplified polygonal line
P0= (pi1, pi2, , pim) with m ≤ n ([4])
iii
Trang 7Lời cam đoan
Tôi tên: Trần Văn Thắng, MSHV: 2170959, là học viên cao học chuyên ngànhToán Ứng dụng khóa 2021 - 2026 của Trường Đại học Bách Khoa TP Hồ ChíMinh
Xin cam đoan toàn bộ những gì trình bày trong luận văn này là do chính tôithực hiện dưới sự hướng dẫn trực tiếp của PGS.TS Phan Thành An của ViệnToán học và các Khoa học Tính toán, Trường Đại học Bách Khoa - Đại họcQuốc Gia TP Hồ Chí Minh
Trong toàn bộ luận văn, hầu hết các kết quả nghiên cứu từ các công trìnhkhoa học của các tác giả khác Khi tôi thu thập, chọn lọc để trình bày, trích dẫnhoặc tham khảo, tôi đều có ghi rõ nguồn để người đọc tham chiếu
Tôi xin cam đoan về những gì đã nêu trên đây là sự thật và xin chịu toàn bộtrách nhiệm trong luận văn này
TP Hồ Chí Minh, ngày 3 tháng 7 năm 2024
Người thực hiện luận văn
Trần Văn Thắng
iv
Trang 8Mục lục
1.1 Định nghĩa đường đi dọc theo dãy các bó đoạn thẳng 21.2 Định nghĩa đường gấp khúc có ràng buộc góc 31.3 Kết luận 5
Chương 2 Phương Pháp Bắn Nhiều Lần Tìm Đường Đi Gần
2.1 Giới thiệu 62.2 Phát biểu bài toán 6
v
Trang 93.2 Phát biểu bài toán 20
Trang 10Danh sách ký hiệu
Ký hiệu Ý nghĩa
a, b, c, p, q, Một số điểm trong R2
B(a, r), r ∈R Hình tròn có tâm a và bán kính rB[a, r] Hình tròn tâm là a, bán kính là r và tính cả biên
[a, b] (a, b ∈R) Đoạn thẳng nối hai điểm đầu mút là a và b]a, b], [a, b[ Một đoạn thẳng không có một trong hai điểm đầu mút
F = (a1, a2, , am) Một dãy gồm m bó đoạn thẳng trong R2
γ Một đường đi γγ(a, b), a, b ∈ γ Một đoạn đường nối a và b thuộc đường đi γ
vii
Trang 11Danh sách hình vẽ
1.1 Đường đi nối hai điểm p và q dọc theo dãy các bó đoạn thẳng
F = {a1, a2, a3, a4} 31.2 Minh họa điều kiện ràng buộc góc cho trường hợp góc quay tối
thiểu trong R2: (a) các cạnh[ph, pi] và [pi, pk]liên tiếp trong đườngđi P0, và (b) các cạnh [ph, pi] và [pi, pk] không thể liên tiếp trong P0 41.3 Ràng buộc góc cho vấn đề góc quay tối đa trong R2 : δ là một góc
quay giữa [ph, pi] và [pi, pk]; (a) các cạnh [ph, pi] và [pi, pk] liên tiếptrong đường điP0, và (b) các cạnh [ph, pi] và [pi, pk]không thể liêntiếp trong P0 52.1 Dãy các bó đoạn thẳng F = {a0, a1, a2, a3, a4} được chia thành các
dãy con: F0 = {a1, a2} , F1 = {a3}, với N = 3, K = 2 Các đoạncắt (đoạn xanh lá): ξ0 = {a0} , ξ1 là đoạn thẳng cuối cùng của
F0, ξ2= {a3} và ξ3= {a4} 82.2 Đường nét đứt màu xanh lập từ tập điểm bắn ban đầu{si= vi, i = 1, 2},
và xác định ∠(SP (si−1, si) , SP (si, si+1)) tại điểm si 82.3 Hình minh họa điều kiện thẳng hàng (A1) và (A2) tại điểm si 92.4 Tập các điểm mới {ti, i = 0, 1, 2} và tìm snexti là điểm giao của
SP (ti−1, ti) và ξi; minh họa cập nhật γ0 (đường gạch liền màuxanh) thành γnext (đường gạch nét đứt màu xanh) 112.5 Dãy các bó đoạn thẳng F = {a0, a1, a2, a3, a4}, trong đó p = a0 và
q = a3+1 là 2 điểm đầu và đích của dãy với dãy bó các đoạn thẳngphải nằm trong góc < 180 độ tại đỉnh 14
viii
Trang 122.6 DãyF = {a0, a1, a2, a3, a4}được phân hoạch thành:F0 = {a1, a2} , F1={a3}, với N = 3, K = 2 Các đoạn cắt (đoạn thẳng xanh lá):
ξ0= {a0} , ξ1 là đoạn thẳng cuối cùng của F0,ξ2= {a3} và ξ3= {a4} 152.7 Thiết lập tập điểm bắn ban đầu{s0, s1, s2, s3}; đường điγ0 (đường
nét đứt màu xanh) được tạo bởi tập này 16
2.8 Kiểm tra điểm bắn ban đầu {s1, s2} và cập nhật điểm bắn s1 =snext1 , snext2 16
2.9 Minh họa cập nhật đường γ0 thành đường γnext 17
3.2 Minh họa đường gấp khúc P (màu xanh dương), đường gấp khúcP0 bước khởi tạo 22
3.3 Minh họa đường gấp khúc P (màu xanh dương), kiểm tra góc tạip2 và tính góc tại p3 . 22
3.4 Minh họa đường gấp khúc P (màu xanh dương), kiểm tra góc tạip3 và tính góc p4 23
3.5 Minh họa đường gấp khúc P (màu xanh dương), đường gấp khúcP0 (đường nét đứt màu đỏ) 23
3.6 Minh họa đường gấp khúc γ0 ban đầu (đường nét đứt màu đỏ),đường gấp khúc P (màu xanh nét đứt) 24
3.7 Minh họa đường gấp khúc γ0 ban đầu (đường nét đứt màu đỏ),đường gấp khúc P (màu xanh nét đứt), P0 (đường nét liền màuhồng) 24
ix
Trang 133.8 Đường gấp khúc mới γ0 ban đầu (đường nét đứt màu đỏ), đườnggấp khúc (màu xanh nét đứt) kết quả dùng đồng thời Thuật toán2 và Thuật toán 1 25
x
Trang 14Lời giới thiệu
Trong lộ trình của robot, khi robot phải quay trở lại một số vị trí đã đánh dấutrước đó sao cho đường đi ra ngắn hơn đường đi vào Để giải quyết vấn đề này tác giảPhan Thành An đã định nghĩa bó đoạn thẳng và tìm đường đi ngắn nhất xấp xỉ dọctheo dãy các bó đoạn thẳng bằng phương pháp bắn nhiều lần trong [2] vào năm 2024.Ba yếu tố của phương pháp bao gồm: phân hoạch, thiết lập - kiểm tra điều kiện thẳnghàng và cập nhật các điểm bắn Phương pháp này được tác giả cài đặt mô phỏng bằngPython và chạy thử nghiệm ứng dụng trên con robot tự hành TurtleBot3 Burger (xemhttps://www.youtube.com/watch?v=HYnNVsh7fpw).
Ngoài phương pháp bắn nhiều lần trên thì tôi trình bày lại một phương pháp nữalà đơn giản hóa đường gấp khúc với ràng buộc góc được nhóm tác giả Danny Z Chen,Ovidiu Daescu, John Hershberger, Peter M Kogge, Ningfang Mi, Jack Snoeyink địnhnghĩa trong [4] vào năm 2005 Việc đơn giản hóa đường gấp khúc P trong R2thànhmột đường gấp khúc P0 có số đỉnh ít hơn trong P và có thêm điều kiện ràng buộc gócđể ứng dụng cho robot tự hành.
Luận văn trình bày 3 chương Chương 1 là kiến thức chuẩn bị, Chương 2 là trìnhbày lại phương pháp bắn nhiều lần là tìm đường đi từ một điểm p đến điểm q dọc theodãy các bó đoạn thẳng F = {a0, a1, a2, aN +1}, trong đó p = a0 và q = aN +1 là 2điểm đầu và cuối của dãy Ở Chương 3 trình bày phương pháp đơn giản hóa đường gấpkhúc P trong R2thành một đường gấp khúc P0 (có số đỉnh ít hơn trong P ) với điềukiện ràng buộc góc để ứng dụng P0 cho robot tự hành Vấn đề chính của luận văn làtừ một điểm p đến điểm q dọc theo dãy các bó đoạn thẳng F = {a0, a1, a2, aN +1},trong đó p = a0 và q = aN +1 là 2 điểm đầu và cuối của dãy Dùng phương pháp bắnnhiều lần trong Chương 2 tìm được một đường gấp khúc mới P nối từ p đến q dọc theodãy F ngắn hơn γ0= {a0, a1, a2, aN +1} ban đầu Với phương pháp đơn giản hóađường gấp khúc P trong R2 thành một đường gấp khúc P0 (có số đỉnh ít hơn trongP ), với điều kiện ràng buộc góc để ứng dụng P0 cho robot tự hành Để biết thêm chitiết trong luận văn thì xem qua các chương tiếp theo.
1
Trang 15Toán ứng dụngLuận văn Thạc sĩ
Chương 1Kiến Thức Chuẩn Bị
Chương này trình bày lại một số khái niệm tối ưu hóa và hình học tính toántrong tài liệu [1], [2], [4] và [5] Ký hiệu bởi R2, k · k không gian tọa độ thựcvới độ dài đoạn ka − bk =
qP2
i=1(ai− bi)2, trong đó a, b ∈ R2, a = (a1, a2) và
b = (b1, b2).Ký hiệu được viết lại:
B(a, r) =p ∈R2 | kp − ak < r ,B[a, r] =p ∈R2 | kp − ak ≤ r
Cho{[a, b1] , [a, b2] , [a, bm]} (m ≥ 1)là một bó đoạn thẳng gồmmđoạn thẳngkhác nhau trong R2 Nó được gọi là một bó đoạn thẳng gồm m đoạn thẳng vớiđỉnh chung là a Một điểm đơn lẻ được coi là một bó suy biến Nói rằng hai bó
Trang 16Toán ứng dụngLuận văn Thạc sĩ
đoạn thẳng khác nhau a và a0 giao nhau, nếu có hai đoạn thẳng [a, b] của a và
[a0, b0] của a0 có một điểm chung ngoại trừ các điểm cuối Nếu không, nói rằng a
và a0 không giao nhau.Xét một tập hợp được sắp xếp của các bó đoạn thẳng a1, a2, , aN Nó đượcgọi là một dãy các bó đoạn thẳng Trong luận văn sử dụng thuật ngữ "đường đidọc theo dãy các bó đoạn thẳng" là một đường đi dọc theo dãy các đoạn thẳngvới thứ tự của các bó đoạn thẳng và thứ tự của các đoạn thẳng trong mỗi bó.Hình 1.1 cho thấy một đường đi nối hai điểm p và q dọc theo dãy các bó đoạnthẳng a1, a2, a3, a4
Hình 1.1: Đường đi nối hai điểm p và q dọc theo dãy các bó đoạn thẳng F ={a1, a2, a3, a4}
.
Định nghĩa 1.2 trong [4] mục 1.1 và [5]Góc quay giữa hai đoạn [ph, pi]và [pi, pk] liên tiếp trong tập điểm P0 như sau:xét tia ray(b|a), được kéo dài từ đoạn thẳng [a, b] từ b đến vô cực và không chứa
[a, b] Tức là tia ray(b|a) chứa [a, b] nhưng kéo dài từ b ra xa khỏi a Góc rẽ giữa
[ph, pi] và [pi, pk] được định nghĩa là góc nhỏ nhất mà ta cần xoay tia ray(pi|ph)
quanh pi để đoạn thẳng [pi, pk] nằm trong ray(pi|ph).Đối với một đoạn thẳng [a, b] và một số thực ε ≥ 0 cho trước Định nghĩavùng lân cậnRε([a, b])là tập hợp các điểm có khoảng cách Euclid từ [a, b] khôngvượt quá ε: Rε([a, b]) =p ∈R2, ||[a, b] − p|| ≤ ε
Cho một đường gấp khúc tùy ýP = (p1, p2, , pn)cón số đỉnh trong R2 Trongđó bất kỳ hai đỉnh liên tiếp pi, pi+1 trênP được nối bởi đoạn thẳng [pi, pi+1], với
Trang 17Toán ứng dụngLuận văn Thạc sĩ1 ≤ i < n, tìm một đường gấp khúc khác P0 = (p1 = pi1, pi2, , pim = pn) có m sốđỉnh (m < n), thỏa mãn các điều kiện sau đây:
(1) Các chỉ số nguyên thỏa mãn 1 = i1< i2< < im−1< im= n.(2) Đối với mọij = 1, 2, , m−1thì đường gấp khúcPij,ij+1 = pij, pij+1, , pij+1
của P được hoàn toàn chứa trong vùng lân cận Rε [pij, pij+1] với ε>0.Trường hợp 1: Góc quay giữa hai đoạn thẳng kề nhau [ph, pi] và [pi, pk] trên
P0 ít nhất phải là một giá trị δ, với 0 6 δ ([ph, pi]) < π2 Đây là trường hợp gócquay tối thiểu trong Hình 1.2
Hình 1.2: Minh họa điều kiện ràng buộc góc cho trường hợp góc quay tối thiểu trongR2: (a) các cạnh [ph, pi] và [pi, pk] liên tiếp trong đường đi P0, và (b) các cạnh [ph, pi]và [pi, pk] không thể liên tiếp trong P0.
Trang 18Toán ứng dụngLuận văn Thạc sĩ
Trường hợp 2: Góc quay giữa hai đoạn thẳng liên tiếp [ph, pi] và [pi, pk] trênđường gấp khúcP0 không vượt quá một giá trị xác địnhδ, với π2 6δ ([ph, pi]) < π.Đây là trường hợp góc quay lớn nhất trong Hình 1.3
Hình 1.3: Ràng buộc góc cho vấn đề góc quay tối đa trong R2 : δ là một góc quay giữa[ph, pi] và [pi, pk]; (a) các cạnh [ph, pi] và [pi, pk] liên tiếp trong đường đi P0, và (b) cáccạnh [ph, pi] và [pi, pk] không thể liên tiếp trong P0.
Chương này trình bày lại định nghĩa đường đi dọc theo dãy các bó đoạnthẳng, định nghĩa đường gấp khúc có ràng buộc góc trong hình học tính toán
Trang 19Chương 2Phương Pháp Bắn Nhiều Lần TìmĐường Đi Gần Nhất Xấp Xỉ TrênR 2
Chương này trình bày lại phương pháp bắn nhiều lần là tìm đường đi từ một điểmp đến điểm q dọc theo dãy các bó đoạn thẳng F = {a0, a1, a2, aN +1} (với N ≥ 1),trong đó p = a0và q = aN +1là 2 điểm đầu và cuối của dãy với dãy bó các đoạn thẳngphải nằm trong góc < 180 độ tại đỉnh Ba yếu tố (f1), (f2) và (f3) của phương phápbao gồm phân hoạch, thiết lập - kiểm tra điều kiện thẳng hàng và cập nhật các điểmbắn Tại một bước lặp nào đó, nếu một đường đi thỏa mãn điều kiện thẳng hàng tạitất cả các điểm bắn, thì trả về một đường gấp khúc mới P nối từ p đến q dọc theo dãyF ngắn hơn γ0= {a0, a1, a2, aN +1} ban đầu.
Cho F = {a0, a1, a2, aN +1} (với N ≥ 1), trong đó p = a0 và q = aN +1 là 2điểm đầu và cuối của dãy với dãy bó các đoạn thẳng phải nằm trong góc < 180 độtại đỉnh Tìm một đường gấp khúc mới P nối từ p đến q dọc theo dãy F ngắn hơnγ0= {a0, a1, a2, aN +1} ban đầu.
(P ) Một đường gấp khúc nối từ p đến q dọc theo dãy F ngắn hơn γ0= {a0, a1, a2, aN +1}ban đầu.
6
Trang 20Toán ứng dụngLuận văn Thạc sĩ
(f2) Xây dựng một đường đi dọc theo F nối p và q, được tạo thành bởi tậphợp các điểm bắn Đường đi này là sự ghép nối của các đường đi ngắn nhất nốihai điểm bắn liên tiếp dọc theo dãy con tương ứng Một điều kiện dừng đượcthiết lập tại các điểm bắn
(f3) Phương pháp thực hiện (f2) tại tất cả các điểm bắn Nếu điều kiện thẳnghàng được thỏa mãn tại tất cả các điểm bắn, phương pháp dừng lại Ngược lại,cập nhật của các điểm bắn là cải thiện các đường đi nối p và q dọc theo F
Phần tiếp theo sẽ cung cấp một lời giải chi tiết về các yếu tố này
Yếu tố (f1): Phân hoạch
Cho K là một số tự nhiên sao cho 1 ≤ K ≤ N, với N là số lượng bó của F
ngoại trừ p và q Phân chia F thành K dãy con Fi của các bó đoạn thẳng vàchọn các đoạn cắt gọi là ξi, với i = 0, 1, , K + 1 như sau:
+Fi bao gồm một bó hoặc một số bó kề nhau của F cho i = 0, 1, , K
+ξi là đoạn cắt cuối cùng của Fi−1, với i = 1, 2, , K + 1
+ξ0= {p}, ξK+1 = {q}
+Fi∩ Fj = ∅, cho i 6= j, i, j ∈ {0, 1, , K}, F =SKi=0Fi.Ký hiệu ξi= [ui, vi], cho tất cả i = 0, 1, , K + 1, trong đó vi và ui được xácđịnh như sau:
Nếu ξi có một đầu mút nằm bên phải của γ0 khi đi từ p đến q, thì vi làđầu mút trên γ0, còn ui là đầu mút còn lại
Ngược lại, vi là đỉnh của bó chứa ξi và ui là đầu mút γ0 còn lại.Ngoài ra ta còn có u0= v0= p, uK+1 = vK+1 = q
Vì dãy các bó là khác nhau, hai đoạn đường cắt tùy ý không giao nhau Tiếptheo, khởi tạo một tập hợp các điểm theo thứ tự bằng cách lấy một điểm đầutrong mỗi đoạn cắt Hai điểm ban đầu liên tiếp được nối bằng đoạn ngắn nhất,nối hai điểm này dọc theo dãy con phù hợp của các bó Đoạn đường nhận đượcbằng cách hợp những đoạn thẳng ngắn nhất này được gọi là đoạn đường khởitạo của thuật toán xem Hình 2.1 và Hình 2.2
Để tiện cho làm việc, những điểm ban đầu này được chọn là vi, choi =0, 1, , K + 1 Đối với mỗi bước lặp, mà được nhắc lại trong các phần kế tiếp
Trang 21Toán ứng dụngLuận văn Thạc sĩ
Hình 2.1: Dãy các bó đoạn thẳng F = {a0, a1, a2, a3, a4} được chia thành các dãy con:F0 = {a1, a2} , F1 = {a3}, với N = 3, K = 2 Các đoạn cắt (đoạn xanh lá): ξ0 = {a0} , ξ1là đoạn thẳng cuối cùng của F0, ξ2 = {a3} và ξ3 = {a4}.
Hình 2.2: Đường nét đứt màu xanh lập từ tập điểm bắn ban đầu {si = vi, i = 1, 2}, vàxác định∠ (SP (si−1, si) , SP (si, si+1)) tại điểm si.
(f2) và f3), và thu được một tập hợp các điểm {si| si∈ ξi, i = 0, 1, , K + 1} vàmột đoạn đường γ = ∪Ki=0SP (si, si+1), trong đó SP (si, si+1) là đoạn đường ngắnnhất nối si và si+1 dọc theo Fi và s0 = p, sK+1 = q Điểm si như vậy được gọilà điểm bắn Sau đó, γ được gọi là đoạn đường được tạo thành bởi tập hợp cácđiểm bắn đã được sắp xếp{si| i = 0, 1, , K + 1}trong [1] SP (si, si+1) được gọibởi bất kỳ thuật toán đã biết trong [12] được nhóm tác giả Hải, An, Huyền địnhnghĩa năm 2019
Trang 22Toán ứng dụngLuận văn Thạc sĩYếu tố (f2): Thiết lập và kiểm tra điều kiện thẳng hàng
Đầu tiên, trình bày điều kiện thẳng hàng Theo phương pháp bắn,SP (si, si+1)
được tìm độc lập dọc theoFi Nếu điều kiện thẳng hàng này được thỏa mãn tạitất cả các điểm bắn, tìm được đường đi ngắn nhất
Đối với i = 1, 2, , K có các đoạn thẳng của SP (si−1, si)và SP (si, si+1)tươngứng có chung điểm si , xem Hình 2.2
Nếu ui 6= vi, thì góc được tạo bởi SP (si−1, si) và SP (si, si+1) liên quan đếnđoạn thẳng có hướng từ vi đến ui, ký hiệu là ∠(SP (si−1, si) , SP (si, si+1)), trongđó ký hiệu ∠(−→x , −→y ) là góc giữa hai −→x, −→y
khác không trong R2, không vượt quá
π Với mỗi i = 1, 2, , K, si∈ ξi, điều kiện thẳng hàng được mô tả như sau:(A1) Giả sử ]vi, ui[6= ∅
- Nếu si∈] vi, ui[, nói rằng si thỏa mãn điều kiện thẳng hàng khi góc trên tạobởi SP (si−1, si) và SP (si, si+1) bằng π (tức là ∠(SP (si−1, si) , SP (si, si+1)) = π)
- Nếu si = vi, nói rằng si thỏa mãn điều kiện thẳng hàng khi góc trên tạo bởi
SP (si−1, si) và SP (si, si+1) ít nhất là π
(tức là ∠(SP (si−1, si) , SP (si, si+1)) ≥ π).- Nếu si = ui, nói rằng si thỏa mãn điều kiện thẳng hàng khi góc trên tạobởi SP (si−1, si) và SP (si, si+1) không vượt quá π
(tức là ∠(SP (si−1, si) , SP (si, si+1)) ≤ π).(A2) Nếu không (tức là ui= vi), nói rằngsi thỏa mãn điều kiện thẳng hàng,xem Hình 2.3
Hình 2.3: Hình minh họa điều kiện thẳng hàng (A1) và (A2) tại điểm si
Trang 23Toán ứng dụngLuận văn Thạc sĩYếu tố (f3): Cập nhật điểm bắn
Giả sử tại bước lặp thứ j, có một tập hợp các điểm bắn
{si | si ∈ ξi= [ui, vi] , i = 0, 1, , K + 1}và γ = ∪Ki=0SP (si, si+1) là đoạn đườnghình thành bởi tập hợp các điểm bắn, trong đó s0 = p, sK+1 = q Nếu điều kiệnthẳng hàng (A1) và (A2) được thỏa mãn tại tất cả các điểm bắn, thì tìm được(P) Ngược lại, các điểm bắn được cập nhật sao cho độ dài của đoạn đường hìnhthành bởi tập hợp các điểm bắn mới giảm liên tục
Giả sử rằng ít nhất một điều kiện thẳng hàng (A1) và (A2) không được thỏamãn tại ít nhất một điểm bắn, ta cập nhật các điểm bắn như sau:
(B) Đối với i = 1, 2 , K, chọn ti−1 ∈ SP (si−1, si) , ti ∈ SP (si, si+1) sao cho
ti−1 và ti khác nhau với si−1, si và si+1 Gọi snexti là điểm giao của SP (ti−1, ti) và
[ui, vi] Việc cập nhật điểm bắn si thành snexti (xem Hình 2.4).Nếu SP (si, si+1) là một đoạn thẳng, chọn ti là trung điểm của SP (si, si+1).Ngược lại,tiđược chọn tại một điểm khácsi và si+1 của đoạn đườngSP (si, si+1).Cập nhật các điểm bắn không thỏa mãn điều kiện thẳng hàng và duy trì cácđiểm bắn thỏa mãn điều kiện thẳng hàng Ở đây, yếu tố (f3) sẽ cập nhật toànbộ các điểm bắn Nếu điều kiện thẳng hàng (A1) và (A2) được thỏa mãn tại si
thì cập nhật si Ví dụ trong Hình 2.4 điều kiện thẳng hàng (A1) và (A2) đượcthỏa mãn tại các điểm bắn s1 và s2 thuộc γ0 Cập nhật được thực hiện bởi (B)
cho thấy snext1 = s1, snext2 = s2.Ta tìm (P ) trong trường hợp điều kiện thẳng hàng không xẩy ra Điều nàyđược trình bày như sau:
Gọi γ∗ là đường đi ngắn nhất nối p và q , dọc F (tức là, γ∗= SP(p, q)).Nhận xét 1 (xem [2], trang 9) Giả sử rằng đường đi ngắn nhấtγ∗ cắt ξi tại
si, với i = 1, 2, , N Khi đó điều kiện thẳng hàng (A1) và (A2) thỏa mãn tạitất cả các điểm bắn si, với mọi i = 1, 2, , K
Mệnh đề 1 (xem [2], trang 9) Gọi γ là một đường đi được hình thành bởimột tập hợp các điểm bắn, nối p và q dọc theo F Nếu điều kiện thẳng hàng(A1) và (A2) thỏa mãn tại tất cả các điểm bắn, thì γ thực sự là đường đi ngắnnhất γ∗
Mệnh đề 2 (xem [2], trang 10) Điều kiện thẳng hàng (A1) và (A2) thỏa