Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.05 MB, 20 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>BỘ GIÁO DỤC </b> <b> VIỆN HÀN LÂM KHOA HỌC </b>
<b>VÀ ĐÀO TẠO </b> <b> VÀ CÔNG NGHỆ VIỆT NAM </b>
<b>HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ </b>
<b>--- </b>
<i><b>Nguyễn Thị Mỹ Hạnh </b></i>
LUẬN VĂN THẠC SĨ TOÁN HỌC
<b>BỘ GIÁO DỤC </b> <b> VIỆN HÀN LÂM KHOA HỌC </b>
<b> VÀ ĐÀO TẠO </b> <b>VÀ CÔNG NGHỆ VIỆT NAM </b>
<b>HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ </b>
<b>--- </b>
<i><b>Nguyễn Thị Mỹ Hạnh </b></i>
<b>Chuyên ngành: Toán ứng dụng </b>
<b>Mã số: 8460112 </b>
LUẬN VĂN THẠC SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. Phan Thành An
Tôi xin cam đoan mọi kết quả của đề tài: Sử dụng kỹ thuật “phễu”
và “cây phễu” để tìm đường đi ngắn nhất trên bề mặt của khối đa diện đã
được trình bày trong ba bài báo [7], [10] và [5], các ví dụ và số liệu trong
luận văn là trung thực. Nếu không đúng như đã nêu trên, tơi xin hồn
tồn chịu trách nhiệm về đề tài của mình.
Lời đầu tiên trong bản luận văn tôi xin gửi lời cảm ơn chân thành
tới PGS. TS. Phan Thành An đã hướng dẫn tơi hồn thiện bản luận văn
này. Mặc dù rất bận rộn với công việc nhưng thầy vẫn luôn dành những
thời gian quý giá của mình để hướng dẫn và chỉ bảo tơi tận tình. Trong
q trình làm luận văn bản thân tơi cịn có nhiều thiếu sót, tuy nhiên thầy
đã luôn luôn động viên và tạo điều kiện tốt nhất để tơi có thể hồn thiện
bản luận văn của mình.
Tơi xin bày tỏ lịng biết ơn sâu sắc tới tồn thể các thầy cơ trong
Viện Tốn học đã truyền đạt, chia sẻ cho tơi những kiến thức bổ ích. Đồng
thời, tôi cũng xin bày tỏ sự biết ơn sâu sắc tới các thầy cô và các anh chị
em của Học viện Khoa học và Công nghệ đã giúp đỡ và quan tâm tơi trong
suốt q trình học tập.
Tơi cũng xin được gửi lời cảm ơn tới gia đình, bạn bè và anh chị
trong nhóm nghiên cứu đã ln cổ vũ, động viên, giúp đỡ tơi trong q
trình tham gia nhóm nghiên cứu để tơi củng cố được kiến thức và trau dồi
LỜI CAM ĐOAN 3
LỜI CẢM ƠN 0
DANH MỤC KÍ HIỆU 3
MỞ ĐẦU 4
1 TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM TRONG
ĐA GIÁC ĐƠN 6
1.1 ĐA GIÁC ĐƠN . . . 6
1.2 ĐỒ THỊ, CÂY VÀ CHU TRÌNH, CÂY ĐỐI NGẪU . . . . 8
1.3 HÌNH ỐNG TAY VÀ HÌNH “PHỄU” . . . 11
1.4 THUẬT TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI
ĐIỂM TRONG ĐA GIÁC ĐƠN . . . 14
2 TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN BỀ MẶT CỦA
KHỐI ĐA DIỆN 19
2.1 PHÉP LẬT . . . 19
2.2 THUẬT TỐN DÙNG NGUỒN SÁNG VÀ BĨNG . . . 23
3 TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA HAI ĐIỂM TRONG
MỘT DÃY MẶT TAM GIÁC TRONG KHÔNG GIAN
BA CHIỀU 31
3.1 ĐƯỜNG TRẮC ĐỊA THẲNG NHẤT VÀ CÁC PHỄU DỌC
THEO DÃY MẶT TAM GIÁC TRONG KHÔNG GIAN BA
CHIỀU . . . 31
3.2 THUẬT TỐN TÌM CHÍNH XÁC ĐƯỜNG ĐI NGẮN
NHẤT GIỮA HAI ĐIỂM DỌC THEO DÃY MẶT TAM
GIÁC . . . 35
3.3 ỨNG DỤNG THUẬT TỐN NFU TÌM ĐƯỜNG ĐI NGẮN
NHẤT TỪ MỘT ĐIỂM TỚI TẤT CẢ CÁC ĐIỂM TRÊN
BỀ MẶT KHỐI ĐA DIỆN . . . 43
KẾT LUẬN 51
3
[a, b] Một đoạn thẳng giới hạn bởi hai điểmavàb
E= (e1, . . . , em) Một dãy các cạnh chung
F= (f1, . . . , fm+1) Một dãy mặt cóm+ 1 tam giác liền kề
Fpq(s) Một phễu dọc theoF tương ứng với [p, q] có chóp là điểms
G Một đồ thị vơ hướng
P = (q1, q2, . . . , qn) Một đa giác đơn cónđỉnh
di Một đường chéo của đa giácP
vi(1);vi(2) Hai điểm đầu mút của đường chéodi
SP(s, vi(j)) Đường đi ngắn nhất từstới điểm cuốivi(j)
Ri Phễu được giới hạn bởiSP(v, vi(1)),SP(v, vi(2))và đường chéodi
Iei Ảnh của của điểm nguồnslên cạnhei
P rojeIeii Hình chiếu củaIei lên cạnhei
Hiện nay, một trong những vấn đề đang được các nhà khoa học
nghiên cứu trong lĩnh vực tối ưu, hình học tính tốn là tính được đường đi
ngắn nhất giữa hai điểm trên bề mặt của một khối đa diện, điều này rất có
ích trong ngành cơng nghiệp chế tạo rơ-bốt, tối ưu hệ thống thông tin địa
lý và điều hướng (xem [1, 2, 3, 4]). Để giải quyết bài toán nói trên, nhiều
nhà khoa học đã đưa ra các phương án cho việc tìm đường đi ngắn nhất
giữa hai điểm trong một dãy mặt tam giác trên bề mặt của khối đa diện
(xem [5, 6]).
5
Luận văn trình bày lại một số thuật tốn về tìm đường đi ngắn nhất
trong một đa giác đơn, một khối đa diện và một dãy mặt tam giác trong
không gian ba chiều theo ba chương.
Chương 1: Tìm đường đi ngắn nhất giữa hai điểm trong đa giác
đơn. Chương đầu tiên, luận văn trình bày lại một số khái niệm về lý
thuyết đồ thị, giới thiệu khái niệm về đa giác đơn, cây đối ngẫu để
từ đó hình thành khái niệm về hình ống tay, hình phễu. Bên cạnh đó,
luận văn cũng trình bày thuật tốn tìm đường đi ngắn nhất giữa hai
điểm trong đa giác đơn của Lee và Preparata (hay còn gọi là thuật
toán "Phễu") năm 1984 [7] và đưa ra một ví dụ minh hoạ cho thuật
tốn.
Chương 2: Tìm đường đi ngắn nhất trên bề mặt khối đa diện.
Trong chương này, luận văn trình bày lại khái niệm về phép lật dãy
mặt tam giác lên cùng một mặt phẳng, định nghĩa về hình chiếu của
ảnh nguồn lên một cạnh, bóng của hình chiếu và thuật tốn về "tìm
đường đi ngắn nhất từ một điểm nguồn tới tất cả các đỉnh còn lại trên
bề mặt khối đa diện" bằng việc sử dụng nguồn sáng và bóng. Thuật
tốn này được trình bày trong [10] năm 1990.
Chương 3: Tìm đường đi ngắn nhất giữa hai điểm trong dãy
mặt tam giác trong không gian ba chiều. Ở chương cuối cùng,
Trong chương này, luận văn trình bày lại một số kiến thức cơ bản
trong lý thuyết đồ thị, các khái niệm về đa giác đơn, cây đối ngẫu, hình
ống tay và “Phễu” trong khơng gian hai chiều được trình bày và là nền
tảng để xây dựng thuật tốn tìm đường đi ngắn nhất giữa hai điểm trong
đa giác đơn có sử dụng kĩ thuật “Phễu”.
1.1 ĐA GIÁC ĐƠN
Để giải quyết được bài tốn về tìm đường đi ngắn nhất giữa hai điểm
s và t nằm trong đa giác đơn mà đường đi ngắn nhất đó khơng cắt biên
của đa giác, chúng tơi sẽ trình bày lại một vài định nghĩa sau:
7
Định nghĩa 1.1.1. [7] Một đường gấp khúc đơn là một dãy các điểm qi
(i = 1,2, . . . , k), ở đó tất cả các cặp điểm liền kề như qi và qi+1 được nối
thành một đoạn (i = 1,2, . . . , k −1) và khơng có hai đoạn khơng liên tiếp
nào cắt nhau (xem hình 1.1).
Khi chuỗi đường gấp khúc đơn là một vịng trịn khép kín sẽ xác định
được một đa giác.
Định nghĩa 1.1.2. [7] Một đa giác đơn có n đỉnh P = (q1, q2, . . . , qn) là
một chuỗi đa giác với qn+1 = q1, tức là qn được nối với q1. Một đường chéo
của P là một đoạn [qi, qj], j 6= i+ 1 và không cắt bất kì một cạnh nào của
P. P được tam giác phân nếu miền trong của nó được chia ra bởi n−2
tam giác và n−3 đường chéo.
Hình 1.2 Một đa giác đơn P= (q1, q2, q3, q4, q5, q6).
Hình 1.3 Đa giác đơnP được tam giác phân bởi các đường chéo[q1, q3],[q3, q6],[q6, q4].
1.2 ĐỒ THỊ, CÂY VÀ CHU TRÌNH, CÂY ĐỐI NGẪU
Các khái niệm sau đây sẽ là kiến thức cơ sở cho bài tốn về tìm
đường đi ngắn nhất trong một đa giác đơn hoặc một khối đa diện. Ở đây,
luận văn chỉ trình bày các khái niệm liên quan đến đồ thị vơ hướng.
Hình 1.4 Minh hoạ một đồ thị vô hướng.
Định nghĩa 1.2.1. [15] Một đồ thị vơ hướng G là một cặp có thứ tự
G = (V, E), trong đó V là một tập khác rỗng gồm các đỉnh, E là một tập
gồm các cạnh - mỗi cạnh có hai đầu mút tạo bởi hai đỉnh của đồ thị vô
hướng G.
Khi biểu diễn một đồ thị vô hướng trên mặt phẳng ta biểu diễn các
đỉnh của đồ thị bởi các đường tròn nhỏ, các cạnh còn lại được biểu diễn
bằng một đường cong nối các đỉnh của cạnh. Ta kí hiệu một cạnh e được
giới hạn bởi hai đầu mút là hai đỉnh a và b là e= [a, b], khi đó a và b được
Ví dụ 1.2.1. Cho đồ thị G = (V, E) với V = {a, b, c, d, e} và E =
9
Định nghĩa 1.2.2. [15] Với G = (V, E) là một đồ thị vô hướng, một hành
trình được định nghĩa trong G là một dãy v0e1v1e2. . . envn sao cho với mọi
i = 0,1,2, . . . , n, vi ∈ V và i = 1,2, . . . , n, ei là cạnh kề của các đỉnh vi−1
và vi. Khi đó, n được gọi là độ dài, v0 được gọi là đỉnh đầu, vn được gọi là
đỉnh cuối.
Ta nói rằng, một hành trình được gọi là khép kín nếu đỉnh đầu và
đỉnh cuối của nó trùng nhau. Một hành trình được gọi là đường nếu các
đỉnh của hành trình đó đều khác nhau. Một hành trình khép kín được gọi
là chu trình nếu nó có độ dài ít nhất là 3 và khi xố đi một đỉnh cuối thì
trở thành đường.
Định nghĩa 1.2.3. [15] Một đồ thị G = (V, E) được gọi là liên thông nếu
hai đỉnh vi và vj khác nhau bất kì của G tồn tại một hành trình vơ hướng
trong G với đỉnh đầu là vi và đỉnh cuối là vj.
Định nghĩa 1.2.4. [15] Một đồ thị vô hướng liên thơng khơng có khun,
khơng có chu trình được gọi là cây.
Hình 1.5 Minh hoạ một cây.
Định nghĩa 1.2.5. [7] Cây đối ngẫu của một đa giác đơn P đã được tam
giác phân là một đồ thị G = (V, E) sao cho mỗi nút của V tương ứng với
một tam giác thuộc đa giác đơn P và mỗi cạnh của E nối hai nút thuộc V
của hai tam giác có chung một đường chéo trong P.
Ví dụ 1.2.2. Xét một đa giác đơn P = (q1, q2, . . . , q11) được tam giác phân
bởi các đường chéo [q2, q3], [q2, q4], [q4, q5],[q5, q6], [q6, q7], [q7, q8], [q8, q9],
[q6, q8]. Xác định một cây đối ngẫu của đa giác đơn P.
Hình 1.6 Đa giác đơn đượcP được tam giác phân bởi các đường chéo.
Hình 1.7 Cây đối ngẫu là đường màu đỏ của đa giác đơn P.
Kí hiệu 4(s) là tam giác chứa điểm svà 4(t) là tam giác chứa điểm
t, đường đi ngắn nhất từ điểm s tới t trong đa giác đơn P là π.
11
củaP tại một điểm duy nhất. Hay nói một cách khác, đường đi ngắn nhất
giữa hai điểm s và t cũng sẽ là một đường gấp khúc và bổ đề sau đây sẽ
làm rõ hơn về điều này.
Bổ đề 1.2.1. [7] Xét một đa giác đơn P có n đỉnh đã được tam giác phân
bởi các đường chéo, ta kí hiệu là di (trong đó i = 1, . . . , n−3). Cho S là
tập hợp tất cả các điểm đầu mút của các đường chéo di (i = 1, . . . , n−3)
và đường đi ngắn nhất, khi đó tất cả các đỉnh của đường đi ngắn nhất giữa
s và t sẽ nằm trong tập S ∪ {s, t}.
Do S là tập hợp các điểm đầu và điểm cuối của các đường chéo nên
ở đây S chính là tập hợp tất cả các đỉnh của đa giác đơn P. Vậy để tìm
đường đi ngắn nhất giữa hai điểm s và t chúng ta sẽ cần phải tìm đường
đi ngắn nhất từ s tới tất cả các điểm đầu mút của các đường chéo của P
và điểm cuối cùng là điểm t. Hợp tất cả các đường đi ngắn nhất này sẽ
tạo thành một cây G với gốc là điểm s.
1.3 HÌNH ỐNG TAY VÀ HÌNH “PHỄU”
Để tìm các đỉnh của cây G = (V, E) không cần phải đi xét hết tất
cả các đỉnh của đa giác đơn P mà chỉ cần tìm ra một miền thuộc đa giác
đơn P cũng chứa đường đi ngắn nhất giữa hai điểm s và t. Để xác định
được hình ống tay hay miền đa giác P cần xác định được miền chứa đường
ngắn nhất từ s tới t.
Định nghĩa 1.3.1. [7] Một đa giác đơn P đã được tam giác phân được
gọi là hình ống tay nếu cây đối ngẫu của đa giác đơn P đó là một đường
gấp khúc đơn.
Hình 1.8 Hình ống tayP0 là miền được tơ màu nâu.
P có n đỉnh, s là điểm thuộc hình ống tay P, di là các đường chéo của P
(1≤ n ≤n−3). Chúng ta sẽ kí hiệu:
vi(1) vàvi(2) là hai điểm đầu mút của đường chéodi (với 1≤ i ≤ n−3).
SP(s, vi(j))là đường đi ngắn nhất từ stới điểm cuối vi(j) với (j = 1,2)
nằm trong đa giác đơn P. Theo Bổ đề 1.2.1 thì tập tất cả các đỉnh mà
đường SP(s, vi(j)) đi qua với (j = 1,2) đều là các đỉnh thuộc đa giác
đơn P.
Gọi v là điểm chung của SP(s, vi(1)) và SP(s, vi(2)) sao cho v là đỉnh
xa nhất tính từ s.
SPi = SP(s, vi(1))∪ SP(s, vi(2)).
13
Định nghĩa 1.3.2. [7] Một miềnRi được giới hạn bởiSP(v, vi(1)),SP(v, vi(2))
và đường chéo di với (1 ≤ i ≤ n−3) sẽ được gọi là “phễu”, v được gọi là
chóp của phễu.
Giả sử các đường gấp khúc con đề cập sau khác rỗng, khi đóSP(v, vi(j))
với j = 1,2 sẽ là một đường gấp khúc lồi hướng vào trong. Khi đó, chúng
ta có mệnh đề sau.
Mệnh đề 1.1. [7] Nếu SP(v, vi(j)) là các đường gấp khúc lồi hướng vào
trong thì cũng có nghĩa là mặt lồi của nó hướng vào miền trong của P.
Chứng minh. Bằng phương pháp quy nạp, chúng ta sẽ chỉ ra được phễu
Ri nằm hoàn toàn trong đa giác đơn P.
Xét các đường chéo ds, ds+1, . . . , di−1 bị cắt bởi các đường gấp khúc
SP(v, vi(1)) và SP(v, vi(2)). Rõ ràng, 4vv
(1)
s vs(2) = Rs nằm hoàn toàn
trong đa giác đơn P.
Giả sử rằng Ri−1 ⊂ P, khi đó miền Ri mới được tạo thành từ miền
Ri−1 hợp thêm với một phần hoặc toàn bộ một tam giác (tam giác chứa
cạnh di) nằm trong đa giác đơn P. Từ đó, chúng ta cũng suy ra được
Ri ⊂P.
Trong trường hợp SP(v, v(<sub>i</sub>j)) không là đường gấp khúc lồi trong thì
theo bất đẳng thức tam giác (tổng của hai cạnh bao giờ cũng lớn hơn cạnh
cịn lại), ta ln tìm được một đường đi ngắn nhất từ v tới vi và đường
ngắn nhất đó ln nằm trong đa giác đơnP. Điều này trái với giả thiết ban
đầu khi SP(v, v<sub>i</sub>(j)) là đường ngắn nhất từ v tới vi (xem Hình 1.10).
Tính chất lồi này cũng chỉ ra rằng SP(v, v(1)<sub>i</sub> ) và SP(v, v(2)<sub>i</sub> ) bị chia
nhánh nhiều nhất chỉ tại một đỉnh v, nếu chúng bị chia nhánh ở một đỉnh
u1 nào đó thì nó sẽ lại gặp nhau tại một đỉnh u2 nào đó, và hai đường gấp
khúc tách rời từ u1 tới u2 này phải là đường gấp khúc lồi trong. Khi đó,
SPi = SP(v, v
(1)
i )∪SP(v, v
(2)
i ), và v được gọi là đỉnh của hai đường gấp
khúc lồi hướng trong.
Hình 1.10 Hình ảnh minh hoạ cho tính lồi trong củaSP(s, v<sub>i</sub>(j)).
Để làm rõ được ý nghĩa của tính lồi trong, và một trong hai đường
gấp khúc có thể rỗng, chúng ta sẽ cùng tìm hiểu kĩ hơn về thuật tốn
tìm đường đi ngắn nhất giữa hai điểm trong một đa giác đơn của Lee và
Preparata trong phần dưới đây.
1.4 THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT GIỮA
HAI ĐIỂM TRONG ĐA GIÁC ĐƠN
Xuất phát từ một đỉnh nguồn s thuật toán sau đây xây dựng các
đường SPi = SP(v, v
(1)
i )∪ SP(v, v
(2)
i ) chứa đường biên của phễu Ri cho
tới khi tới điểm đích (tức là v<sub>i</sub>(2) ≡t), chúng ta cùng đi xét bài tốn sau:
Bài tốn: Xét một hình ống tay P và hai điểm cho trước svà tthuộc
hình ống tay P đó. Tìm đường đi ngắn nhất từ s tới t nằm trong P.
Hình 1.11 Hình ảnh minh hoạ cho bước tổng quát; hình a) uj ∈ uaua−1. . . u0; hình b) uj ∈
15
Algorithm 1 Thuật toán Lee và Preparata
1: Bước khởi tạo: Xây dựngSP1 bằng cách nốisvớiv<sub>1</sub>(1) vàv(2)<sub>1</sub> .
2: Bước tổng quát: (Xây dựngSPi+1 từSPi)
Xétv là đỉnh củaSPi=SP(v, v
(1)
i )∪SP(v, v
(2)
i )
SPi được chia làm hai nhánh tạiv
Chúng ta kí hiệu hai nhánh đó làuaua+1. . . ub vàuaua−1. . . u0
Ở đó v=ua, v
(1)
i =ub, v
(2)
i =u0
Bắt đầu duyệt từ điểmu0, u1, . . . , ub
j là chỉ số nhỏ nhất sao cho v(2)<sub>i</sub><sub>+1</sub>uj là đường tiếp tuyến của biênRi.
Chúng ta sẽ xét hai trường hợp:
Trường hợp 1:j≤a(xem Hình 1.11 a))
– Xoá hết các cạnhulul+1 với0≤l≤j−1.
– Thêm cạnhujv
(2)
i+1.
Trường hợp 2:j > a(xem Hình 1.11 b))
– Xố hết các cạnhujul+1 với0≤l≤j−1.
– Thêm cạnhujv
(2)
i+1.
– MiềnRi+1 sẽ nhậnuj là đỉnh mới.
3: Bước kết thúc: Sau khi xây dựng được SPn−3, đường chéodn−2 chiaP thành hai miền, và một
trong hai miền này sẽ chứa điểm đícht.
- Gánv<sub>n</sub>(2)<sub>−</sub><sub>2</sub>=t.
- Áp dụng bước tổng quát cho từng trường hợp vớii=n−3vàSPn−2=SP(s, v
(1)
n−2)∪SP(s, t).
- SP(s, t)⊂SPn−2.
Ví dụ 1.4.1. Xét một đa giác đơn P với 13 đỉnh, một điểm nguồn s và
điểm đích t (xem Hình 1.12). Tìm đường đi ngắn nhất từ s tới t bằng cách
sử dụng thuật tốn Lee và Preparata.
Hình 1.13 Đa giác đơnP được tam giác phân bởi các đường chéo nét đứt.
Hình 1.14 Cây đối ngẫu của đa giác đơnP là đường màu đỏ.
Hình 1.15 MiềnP0 màu xanh lá là hình ống tay chứa đường đi ngắn nhất từ stớit.