Ta sẽ mô hình hóa bài toán đặt ra bằng đồ thị có trọng số
như sau : Các đỉnh của đồ thị tương ứng với các lỗ khoan. Mỗi cặp 
đỉnh được nối với nhau bởi 1 cung là cạnh của đồ thị. Trên mỗi cạnh 
ta viết các số tương ứng thời gian dịch chuyển từ lỗ khoan này đến lỗ
khoan kia. Ta thu được đồ thị có trọng sốvà được biểu diễn qua ma 
trận chi phí sau ( phải đi qua tất cảcác đỉnh).
                
              
                                            
                                
            
 
            
                 24 trang
24 trang | 
Chia sẻ: lylyngoc | Lượt xem: 12845 | Lượt tải: 3 
              
            Bạn đang xem trước 20 trang tài liệu Bài toán tìm đường đi ngắn nhất và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
 1 
BỘ GIÁO DỤC VÀ ĐÀO TẠO 
ĐẠI HỌC ĐÀ NẴNG 
-  - 
HỒ TRUNG CANG 
BÀI TỐN TÌM ĐƯỜNG ĐI NGẮN NHẤT 
VÀ ỨNG DỤNG 
CHUYÊN NGÀNH: PHƯƠNG PHÁP TỐN SƠ CẤP 
MÃ SỐ: 60. 46. 40 
TĨM TT LUN VĂN THC SĨ KHOA HC 
Đà Nẵng - Năm 2011 
2 
Cơng trình được hồn thành tại 
ĐẠI HỌC ĐÀ NẴNG 
Người hướng dẫn khoa học: PGS-TSKH Trn Quc 
Chi	n 
Phản biện 1: TS. CAO VĂN NUƠI 
Phản biện 2: TS. HỒNG QUANG TUYẾN 
Luận văn được bảo vệ trước Hội đồng chấm Luận văn tốt 
nghiệp thạc sĩ khoa học họp tại Đại học Đà Nẵng vào ngày 
17 tháng 08 năm 2011 
Cĩ thể tìm hiểu luận văn tại: 
- Trung tâm Thơng tin - Học liệu, Đại học Đà Nẵng 
- Thư viện trường Đại học Sư phạm, Đại học Đà Nẵng. 
3 
MỞ ĐẦU 
1. Lý do chọn đề tài: 
Lý thuyết đồ thị là ngành khoa học được phát triển từ lâu 
nhưng lại cĩ nhiều ứng dụng hiện đại, nĩ là kiến thức cơ sở cho 
nhiều ngành khoa học kỹ thuật khác nhau như Điện tử, Hĩa học, 
Ngơn ngữ học, Kinh tế học, Máy tính, .... 
Nhiều khái niệm của lý thuyết đồ thị được sinh ra từ các vấn 
đề thực tiễn như: đường đi, chu trình, tập ổn định, chu số, sắc số, 
duyệt đồ thị, đường đi Hamilton, tâm đồ thị, luồng vận tải, đồ thị 
phẳng, cây bao trùm, cây biểu thức, cây mã tiền tố tối ưu,... vì vậy lý 
thuyết đồ thị đã gắn kết nhiều ngành khoa học lại với nhau. Các thuật 
tốn ngắn gọn và lí thú của lý thuyết đồ thị đã giúp chúng ta giải 
quyết rất nhiều bài tốn phức tạp trong thực tế, trong đĩ vấn đề tìm 
đường đi ngắn nhất giúp chúng ta giải quyết được rất nhiều bài tốn 
trong thực tế. Vì vậy, tơi đã chọn đề tài: “Bài tốn tìm đường đi 
ngắn nhất và ứng dụng” để nghiên cứu. 
2. Mục đích và nhiệm vụ nghiên cứu: 
 Trình bày hệ thống lý thuyết đồ thị. 
 Trình bày hệ thống lý thuyết về đường đi ngắn nhất và các 
thuật tốn tìm đường đi ngắn nhất. 
Các ứng dụng của bài tốn tìm đường đi ngắn nhất. 
3. Đối tượng và phạm vi nghiên cứu: 
 3.1. Đối tượng nghiên cứu: 
 Đối tượng nghiên cứu của đề tài là bài tốn đường đi ngắn 
nhất và một số ứng dụng của nĩ. 
4 
 3.2. Phạm vi nghiên cứu: 
 Các thuật tốn tìm đường đi ngắn nhất và một số ứng dụng 
của bài tốn tìm đường đi ngắn nhất. 
4. Phương pháp nghiên cứu: 
 Cơ bản sử dụng phương pháp nghiên cứu tài liệu (sách, báo, 
các mục trên internet cĩ liên quan đến đề tài) để thu thập thơng tin 
nhằm phân tích, hệ thống lý thuyết, các thuật tốn về đường ngắn 
nhất, các ứng dụng phục vụ cho đề tài. 
5. Cấu trúc luận văn: 
 Ngồi phần mở đầu, kết luận, tài liệu tham khảo, trong luận 
văn gịm cĩ ba chương như sau : 
Chương 1 : ĐẠI CƯƠNG VỀ ĐỒ THỊ 
Chương 2 : BÀI TỐN ĐƯỜNG ĐI NGẮN NHẤT 
Chương 3 : ỨNG DỤNG 
5 
Chương 1 : ĐẠI CƯƠNG VỀ ĐỒ THỊ 
1.1. Đồ thị, đỉnh, cạnh: 
1.2. Bậc, nửa bậc vào, nửa bậc ra: 
1.2.1. Bậc : 
1.2.2. Nửa bậc: 
 1.2.3. Ví dụ : 
1.2.4. Bổ đề bắt tay ( Hand Shaking Lemma) : 
 1.2.5. Mệnh đề 1: 
1.2.6. Mệnh đề 2 : 
1.3. Đường đi, chu trình, tính liên thơng 
1.3.1. Định nghĩa : Cho đồ thị G= (V,E) 
 Dãy µ từ đỉnh v đến đỉnh w là dãy các đỉnh và các cạnh nối tiếp 
nhau bắt đầu từ đỉnh v và kết thúc tại đỉnh w. Số cạnh trên dãy µ 
gọi là độ dài của dãy µ . 
 Dãy µ từ đỉnh v đến đỉnh w độ dài n được biểu diễn như sau 
µ =(v, e1, v1, e2,v2,….,vn-1,en,w) trong đĩ vi(i=1,…,n-1) là các đỉnh 
trên dãy và ei(i=1,…,n) là các cạnh trên dãy liên thuộc đỉnh kề trước 
và sau nĩ. Các đỉnh và các cạnh trên dãy cĩ thể lặp lại. 
 Đường đi từ đỉnh v đến đỉnh w là dãy từ đỉnh v đến đỉnh w, trong 
đĩ các cạnh khơng lặp lại 
6 
 Đường đi sơ cấp là đường đi khơng đi qua một đỉnh quá 1 lần. 
 Chu trình là đường đi cĩ đỉnh đầu và đỉnh cuối trùng nhau 
 Chu trình sơ cấp là chu trình khơng đi qua một đỉnh quá 1 lần. 
 Dãy cĩ hướng trong đồ thị cĩ hướng là dãy các đỉnh và cung nối 
tiếp nhau (e1, e2,….,en) thỏa mãn đỉnh cuối cùng của cung ei là đỉnh 
đầu của cung ei+1, i=1,…,n-1. 
 Đường đi cĩ hướng trong đĩ đồ thị cĩ hướng là dãy cĩ hướng, 
trong đĩ các cung khơng lặp lại. 
 Đường đi cĩ hướng sơ cấp là đường đi cĩ hướng khơng đi qua 
một đỉnh quá 1 lần. 
 Chu trình cĩ hướng là đường đi cĩ hướng đỉnh đầu và đỉnh cuối 
trùng nhau. 
 Chu trình cĩ hướng sơ cấp là chu trình cĩ hướng khơng đi qua 
một đỉnh quá 1 lần. 
 Đồ thị vơ hướng gọi là liên thơng, nếu mọi cặp đỉnh của nĩ đều cĩ 
đường đi nối chúng với nhau. 
 Đồ thị cĩ hướng gọi là liên thơng mạnh, nếu mọi cặp đỉnh của nĩ 
đều cĩ đường đi cĩ hướng nối chúng với nhau. 
1.3.2. Định lý 1: 
 1.3.3. Định lý 2 : 
 1.3.4. Trọng đồ: 
7 
Trọng đồ (cĩ hướng) là đồ thị (cĩ hướng) mà mỗi cạnh 
(cung) của nĩ được gán một số. 
 Trọng đồ được biểu diễn bởi G=(V,E,w), trong đĩ V là tập 
các đỉnh, E là tập các cạnh (cung) và w : E R→ là hàm số trên E, 
w(e) là trọng số của cạnh (cung) e với mọi e R∈ . 
 Trong trọng đồ độ dài trọng số của đường đi µ là tổng các 
trọng số trên đường đi đĩ. 
 1.3.5. Đồ thị con : 
1.3.6. Ví dụ : 
1.3.7. Định lý 3: 
1.4. Độ lệch tâm, bán kính, tâm đồ thị: 
Cho đồ thị G =(V,E,w). Ta định nghĩa khoảng cách từ u đến v, 
,u v V∀ ∈ , là độ dài đường đi ngắn nhất từ u đến v và ký hiệu là 
d(u,v). 
Đại lượng { }( ) ax ( , w)e v m d v v V= ∈ gọi là độ lệch tâm của 
đỉnh v, v V∀ ∈ . 
Bán kính của đồ thị G, kí hiệu r(G), là độ lệch tâm nhỏ nhất, tức 
là : { }( ) min ( )r G e v v V= ∈ 
Đỉnh v V∈ được gọi là đỉnh tâm nếu ( ) ( )e v r G= . Tập hợp tất 
cả các đỉnh tâm được gọi là tâm của đồ thị và ký hiệu là C(G). 
8 
1.5. Biểu diễn đồ thị : 
1.5.1. Ma trận kề : 
1.5.2. Ma trận liên thuộc: 
9 
Chương 2 : BÀI TỐN ĐƯỜNG ĐI NGẮN NHẤT 
2.1. Đường đi ngắn nhất giữa 2 đỉnh: 
2.1.1. Phát biểu bài tốn : 
Cho đồ thị cĩ trọng số G = (V,E). Kí hiệu w (i,j) là trọng số của 
cạnh (i,j). Độ dài đường đi 
0 1 2 1... n nv v v v vµ −= → → → → → cĩ tổng các trọng số 
1
1
( ) w ( , )
n
i i
i
L v vµ
−
=
= ∑ 
Cho hai đỉnh a, z của đồ thị. Bài tốn đặt ra là tìm đường đi ngắn 
nhất từ a đến z. 
2.1.2. Thuật tốn Dijkstra : 
Thật tốn tìm đường đi ngắn nhất từ đỉnh a đến đỉnh z trong đĩ 
đồ thị liên thơng cĩ trọng số. trọng số cạnh (i,j) là w(i,j)>0 và đỉnh x 
sẽ mang nhãn L(x). Khi kết thúc thuật giải L(z) chính là chiều dài 
ngắn nhất từ a đến z. 
+ Đầu vào: đồ thị liên thơng G=(V,E) cĩ trọng số w(i,j)>0 với 
mọi cạnh (i,j), đỉnh a và z 
+ Đầu ra :L(z) chiều dài đường đi ngắn nhất từ a đến z và đường 
đi ngắn nhất. 
+ Phương pháp: 
(1) Gán L(a):=0, với mọi x khác a gán L(a)= ∞ . Kí hiệu T:=V 
(2) Chọn v T∈ sao cho L(v) cĩ giá trị nhỏ nhất. Đặt 
T:=T-{v} 
10 
(3) Nếu z T∉ , kết thúc, L(z) là chiều dài đường đi ngắn nhất từ a 
đến z. Từ z lần ngược theo đỉnh được ghi nhớ ta cĩ đường đi 
ngắn nhất. Ngược lại sang bước (4) 
(4) Với mỗi x T∈ kề v gán L(x):=min{L(x),L(v)+w(v,x)} 
Nếu L(x) thay đổi thi ghi nhớ đỉnh v cạnh x để sau này xây dựng 
đường đi ngắn nhất. Quay về bước (2) 
-Định lí : Thuật tốn Dijkstra là đúng. 
Chứng minh 
 Kí hiệu lần lượt các đỉnh v chọn bước 2 là v0 = a, v1, v2, ... 
vm . Ta chứng minh bằng qui nạp rằng L(vi) chính là độ dài đường đi 
ngắn nhất từ a đến vi, i∀ , i = 1, 2, 3, ... , m 
- Bước cơ sở : Hiển nhiên L(v1) là độ dài ngắn nhất từ a đến v1. 
- Bước qui nạp : Giả thiết L(vi) là độ dài đường đi ngắn nhất từ a 
đến vi i k∀ ≤ . Ta chứng minh rằng L(vk) là độ dài đường đi ngắn 
nhất từ a đến vk. 
Gọi P là đường đi ngắn nhất từ a đến vk cĩ độ dài l(P). Các đỉnh trên 
P trừ vk phải thuộc S = {v1, v2, ... , vk-1}. 
 Giả sử ngược lại, gọi u là đỉnh đầu tiên trên P khơng thuộc S 
và v là đỉnh thuộc S trước u . Hiển nhiên 
( ) ( ) w( , ) ( )kL u L v v u L v≤ + ≤ , nên u phải bị loại ra khỏi T ở bước 
(2) trước vk, hay u phải thuộc S, và đây là điều mâu thuẫn. 
 Bây giờ gọi vh là đỉnh trước vk trên P. Theo cách tính lại 
nhãn ta cĩ : ( ) ( ) w( , ) ( )k h h kL v L v v v l P≤ + ≤ 
 Suy ra L(vk) là độ dài đường đi ngắn nhất từ a đến vk. 
11 
2.1.3. Phương pháp lập bảng ghi nhãn 
2.2. Đường đi ngắn nhất giữa mọi cặp đỉnh : 
2.2.1. Phát biểu bài tốn : 
 Cho đồ thị cĩ hướng liên thơng cĩ trọng số G=(V,E). Kí hiệu 
w(i,j) là trọng số của cạnh (i,j). Độ dài đường đi 
...0 1 2 1v v v v vnnµ = → → → → →− cĩ tổng các trọng số 
1
1
( ) w ( , )
n
i i
i
L v vµ
−
=
= ∑ 
Bài tốn đặt ra là tìm đường đi ngắn nhất giữa mọi cặp đỉnh 
trong đồ thị. 
2.2.2. Thuật tốn Floyd –Warshall : 
 Thuật giải tìm đường đi ngắn nhất giữa mọi cặp đỉnh trong 
đồ thị cĩ hướng liên thơng cĩ trọng số. 
+ Đầu vào : Đồ thị liên thơng G=(V,E), V= { }1,2,...,n , cĩ 
trọng số với mọi cung (i,j). 
+ Đầu ra : Ma trận D =[ ]( , )d i j , trong đĩ d(i,j) là chiều dài 
đường đi ngắn nhất từ i đến j với mọi cặp (i,j). 
Ma trận P= [ ]( , )p i j dùng để xác định đường đi ngắn nhất. 
+ Phương pháp: 
(1) Bước khởi tạo: Kí hiệu D0 = [ ]( , )d i j và P0= [ ]0 ( , )p i j 
là các ma trận xuất phát trong đĩ d0(i,j) =w(i,j) nếu tồn tại cung (i,j) 
và d0(i,j) = +∞ nếu khơng tồn tại cung (i,j) (đặc biệt nếu khơng cĩ 
khuyên tại i thì d0(i,i) = +∞ ) và p0(i,j) = j nếu cĩ cung từ i đến j 
và p0(i,j) khơng xác định nếu khơng cĩ cung từ i đến j. 
12 
Gán k:=0. 
(2) Kiểm tra kết thúc: 
Nếu k=n, kết thúc. D= Dn là ma trận độ dài đường đi ngắn nhất, 
 P = Pn. 
Ngược lại tăng k lên 1 đơn vị (k:=k+1) và sang (3). 
(3) Tính ma trận Dk và Pk theo Dk-1 và Pk-1: 
Với mọi cặp (i,j), i= 1..n, j=1..n thực hiện: 
Nếu dk-1(i,j) > dk-1(i,k) + dk-1(k,j) thì đặt 
 dk(i,j):= dk-1(i,k) + dk-1(k,j) và pk(i,j):=pk-1(i,k) 
ngược lại đặt dk(i,j):= dk-1(i,j) và pk(i,j):= pk-1(i,j) 
Quay lại bước (2). 
Phương pháp xác định đường đi ngắn nhất từ đỉnh i đến đỉnh j: 
Đường đi ngắn nhất từ i đến j gồm dãy các đỉnh 
 i , i1, i2, i3,…, ik, ik+1,…, im, j thỏa mãn 
 i1= p(i,j), i2 =p(i1, j), … , ik+1 = p(ik,j), … , p(im,j) =j 
2.3. Chu trình Hamilton ngắn nhất: 
2.3.1. Phát biểu bài tốn : 
Cho đồ thị cĩ trọng số G=(V,E). Kí hiệu w(i,j) là trọng số của 
cạnh (i,j). Độ dài đường đi 
0 1 2 1... n nv v v v vµ −= → → → → → cĩ tổng các trọng số 
1
1
( ) w ( , )
n
i i
i
L v vµ
−
=
= ∑ 
13 
Bài tốn đặt ra là tìm đường đi ngắn nhất đi qua mọi đỉnh của đồ 
thị và trở về đỉnh ban đầu (chu trình Hamilton ngắn nhất). 
2.3.2. Thuật tốn nhánh cận: 
 Thuật tốn nhánh cận là một trong những phương pháp chủ 
yếu để giải bài tốn tối ưu tổ hợp. Tư tưởng cơ bản của nĩ là trong 
quá trình tìm kiếm ta phân hoạch các phương án của bài tốn ra 
thành 2 hay nhiều tập con như là các nút cây tìm kiếm và cố gắng 
đánh giá cận cho các nút, loại bỏ những nhánh mà ta biết chắc chắn 
là khơng chứa phương án tối ưu. 
14 
Chương 3 : ỨNG DỤNG 
3.1. Chọn hành trình tiết kiệm nhất. 
 Mạng lưới giao thơng nối các điểm du lịch trong một khu du 
lịch sinh thái cĩ thể mơ hình hĩa bằng một đồ thị cĩ trọng số, trên đĩ 
độ dài mỗi cung cĩ thể là khoảng cách hoặc thời gian cần thiết để đi 
từ điểm du lịch này đến điểm du lịch kia. Trên hình sau là 10 điểm 
du lịch được ký hiệu là :a, b, c, d, e , f, g, h, k, z các cung nối các 
cặp đỉnh để chỉ ra rằng giữa các cặp điểm đĩ cĩ đường nối trực tiếp 
chúng với nhau, các số trên các cung là độ dài của cung đĩ. Hãy xác 
định lộ trình đi du lịch tiết kiệm nhất từ điểm a đến điểm z ( khơng 
nhất thiết phải đi qua tất cả các điểm du lich) 
Áp dụng thuật tốn Dijkstra để tìm đường đi ngắn nhất từ a 
đến z. 
Ta suy ra đường đi ngắn nhất là : a b k h z→ → → → và độ dài 
đường đi ngắn nhất từ a đến z là L(z) = 9. 
3.2. Bài tốn cực tiểu tổng ( bài tốn chọn vị trí xây dựng trường 
học) : 
a 
b k 
z 
c 
d 
e f 
g 
h 
5 
2 
8 
5 
8 
6 
3 
1 
4 
1 
4 
1 
10 
6 
3 
10 
4 
2 3 
5 
2 
15 
Người ta muốn xây dựng 1 trường học tại một trong 7 xã của 
huyện Ngọc Hồi để cho học sinh 7 xã đến học, chọn xã nào để đặt 
trường học cho phù hợp ( tổng chi phí tất cả học sinh đi đến trường 
học là nhỏ nhất). Để giải bài tốn này ta xem mỗi xã là 1 đỉnh của đồ 
thị, mỗi cạnh biểu thị đường đi từ xã này đến xã kia, trên mỗi cạnh ta 
điền tổng chi phí đi lại của học sinh xã đĩ đến xã kề. Giả sử vị trí các 
xã được mơ hình hĩa thành đồ thị sau: 
Áp dụng thuật tốn Floyd để tìm đường đi ngắn nhất giữa tất cả các 
cặp đỉnh của đồ thị trên. Cụ thể 
Ma trận khoảng cách xuất phát Do là ( các ơ trống là ∞ ): 
Đỉnh A B C D E F G 
A 0 24 
B 24 0 51 
C 51 0 42 
D 42 0 34 25 32 
E 34 0 
F 25 0 
Do = 
G 32 0 
Đắk Nơng(F) 
Sa Long (A) Đắkan(B) Đắk Xú(C) Pleikần(D) 
Đắk Dục(G) 
Bờ Y(E) 24 51 42 
25 
32 
34 
Đắk Nơng(F) 
16 
Đỉnh A B C D E F G 
A 0 24 75 117 151 142 149 
B 24 0 51 93 127 118 125 
C 75 51 0 42 76 67 74 
D 117 93 42 0 34 25 32 
E 151 127 76 34 0 59 66 
F 142 118 67 25 59 0 57 
D = D7 
= 
G 149 125 74 32 66 57 0 
Cuối cùng D là ma trận khoảng cách ngắn nhất giữa các đỉnh. 
Tổng các hàng tương ứng là : 658, 538, 385, 343, 513, 468, 503. 
Như vậy đỉnh D là đỉnh cự tiểu tổng duy nhất và tập đỉnh cực tiểu 
tổng là {D}. Do đĩ chúng ta nên xây dựng trường học ở xã Pleikần. 
3.3. Bài tốn cực tiểu trị lớn nhất (bài tốn tìm tâm đồ thị): 
Người ta muốn xây dựng 1 bệnh viện tại một trong 7 xã của 
huyện Ngọc Hồi để phục vụ cho người dân của 7 xã, chọn xã nào để 
đặt bệnh viện là hợp lý nhất? (người dân ở xã xa nhất đến bệnh viện 
được gần nhất). Để giải bài tốn này ta xem mỗi xã là 1 đỉnh của đồ 
thị, mỗi cạnh biểu thị đường đi giữa 2 xã, trên mỗi cạnh ta điền 
khoảng cách từ xã đĩ đến xã kề. Giả sử vị trí các xã được mơ hình 
hĩa thành đồ thị sau: 
17 
Áp dụng thuật tốn Floyd để tìm đường đi ngắn nhất giữa tất 
cả các cặp đỉnh của đồ thị trên. Cụ thể ta cĩ ma trận khoảng cách 
ngắn nhất giữa các đỉnh là D: 
Đỉnh A B C D E F G 
A 0 24 75 117 151 142 149 
B 24 0 51 93 127 118 125 
C 75 51 0 42 76 67 74 
D 117 93 42 0 34 25 32 
E 151 127 76 34 0 59 66 
F 142 118 67 25 59 0 57 
D = D7 = 
G 149 125 74 32 66 57 0 
Độ lệch tâm của các đỉnh tương ứng là : 
 A - 151, B -127, C - 76, D – 117, E - 151, F - 142, G - 149 
Sa Long (A) Đắkan(B) Đắk Xú(C) Pleikần(D) 
Đắk Nơng(F) 
Đắk Dục(G) 
Bờ Y(E) 24 51 42 
25 
32 
34 
18 
Như vậy đỉnh C là đỉnh cực tiểu độ lệch tâm duy nhất và tâm 
đồ thị là {C} 
Do đĩ ta nên xây bệnh viện ở xã Đắk Xú. 
3.4. Bài tốn tìm đường đi ngắn nhất giữa các cặp điểm: 
 Làm thế nào để giúp Trung tâm Taxi quản lý được các xe 
Taxi hiệu quả và giúp cho các tài xế lái Taxi chọn con đường từ vị trí 
xe đậu đến đĩn khách và trả khách ngắn nhất ? Đây là vấn đề đặt ra 
của các hãng Taxi. Để giải quyết vấn đề này ta hãy biểu diễn bản đồ 
thành phố thành một đồ thị và dùng thuật tốn Floyd-Warshall để tìm 
hành trình ngắn nhất và độ dài của chúng. 
3.4.1. Bài tốn 1: Dùng giải thuật Floyd-Warshall tìm đường 
đi ngắn nhất giữa các địa điểm trong thị trấn Pleikần – Ngọc Hồi biết 
đường đi giữa các địa điểm là đường đi một chiều được cho bởi sơ 
đồ sau 
Áp dụng giải thuật Floyd-Warshall ta được ma trận khoảng cách 
ngắn nhất giữa các đỉnh D = D6 và sử dụng P = P6 ta cĩ thể tìm 
đường đi ngắn nhất giữa các địa điểm. Chẳng hạn : tìm đường đi từ 
Sa Long cần đến Đắk Xú, ta tìm đường đi như sau: 
Bờ Y(BY) 
3 
Đắkan(ĐK) ĐắkXú(ĐX) 
Đắk Dục(ĐD) 
Sa Long(SL) 
Đắk Nơng(ĐN) 
20 
1 3 
2 
8 
5 
13 
4 
6 8 
9 
19 
P(SL,ĐX) = ĐK , P(ĐK,ĐX) = ĐD , P(ĐD,ĐX) = ĐX. 
Vậy ta nên đi như sau : Sa Long Đắkan Đắk Dục 
với chiều dài là D(SL,ĐX) = 16 Đắk Xú, 
3.4.2. Bài tốn 2: Dùng giải thuật Floyd-Warshall tìm đường 
đi ngắn nhất giữa các địa điểm trong Thành phố Kon Tum biết 
đường đi giữa các địa điểm là đường đi một chiều được cho bởi sơ 
đồ sau: 
Để giải quyết bài tốn này ta dùng thuật tốn Floyd-Warshall. 
 Ta cĩ ma trận khoảng cách ngắn nhất giữa các địa điểm D = 
D7. Sử dụng ma trận P=P7, ta cĩ thể tìm đường đi ngắn nhất giữa các 
địa điểm. Chẳng hạn, để tìm đường đi từ Bến xe đến Duy Tân ta làm 
như sau: 
Đặt i1 = P(BX,DT) = KT; i2 = P(KT,DT) = TT, 
Cầu ĐắkLa(ĐL) 
1 
Duy 
Tân(DT) 
Bến xe(BX) 
Trung Tín(TT) 
Ngục Kon Tum (KT) Hịa bình(HB) 
4 8 
3 1 3 7 
1 
3 
2 
5 3 
12 
3 
Cầu Treo(CT) 
20 
 i3= P(TT,DT)=ĐL, i4 = P(ĐL,DT)=DT 
Từ đĩ ta nhận được đường đi ngắn nhất từ Bến xe đến Duy 
Tân với độ dài bằng 8 và đi như sau: 
Bến xe Ngục Kon Tum Trung Tín 
 Cầu Đắk La 
Qua 2 ma trận D và P thì trung tâm Taxi cĩ thể quản lý được 
các xe của trung tâm, ra các mức giá và chi phí để các xe đi từ địa 
điểm này đến địa điểm kia một cách phù hợp và cũng giúp các người 
lái xe tìm đường đi hiệu quả nhất. 
3.5. Chọn chu trình Hamilton tiết kiệm nhất: 
Trong quá trình gia cơng chế tạo máy, người ta cần khoan 
các lỗ trên một tấm thép để sau đĩ bắt vít các chi tiết máy. Các lỗ 
khoan cĩ thể được thực hiện dưới sự điều khiển của máy tính. Nhằm 
tiết kiệm chi phí quá trình khoan cần được thực hiện càng nhanh 
càng tốt. 
Ta sẽ mơ hình hĩa bài tốn đặt ra bằng đồ thị cĩ trọng số 
như sau : Các đỉnh của đồ thị tương ứng với các lỗ khoan. Mỗi cặp 
1 
2 3 
4 5 
6 
21 
đỉnh được nối với nhau bởi 1 cung là cạnh của đồ thị. Trên mỗi cạnh 
ta viết các số tương ứng thời gian dịch chuyển từ lỗ khoan này đến lỗ 
khoan kia. Ta thu được đồ thị cĩ trọng số và được biểu diễn qua ma 
trận chi phí sau ( phải đi qua tất cả các đỉnh). 
 1 2 3 4 5 6 
1 ∞ 3 93 13 33 9 
2 4 ∞ 77 42 21 16 
3 45 17 ∞ 36 16 28 
4 39 90 80 ∞ 56 7 
5 28 46 88 33 ∞ 25 
6 3 88 18 46 92 ∞ 
Tiến hành tìm cận dưới và rút gọn ma trận: 
Quá trình đĩ cĩ thể biểu diễn bằng sơ đồ sau: 
22 
Tất cả các hành 
trình 
Hành trình 
khơng chứa (6,3) 
P2 
Hành trình chứa 
(6,3) 
Hành trình 
khơng chứa (6,3) 
P2 
Hành trình chứa 
(4,6) 
Hành trình 
khơng chứa (4,6) 
P12 
Hành trình chứa 
(2,1) 
Hành trình 
khơng chứa (2,1) 
Hành trình 
khơng chứa (4,6) 
P112 
Hành trình chứa 
(1,4) 
81 129 
113 
101 
112 84 
81 
81 
104 
P1111 
P111 
P11 
P1 
Chọn tiếp 2 cạnh cịn lại ta cĩ 
hành trình: p = (1, 4, 6, 3, 5, 2, 
1) và chi phí cp = 104 
β
= 
β
= 
P 
Cận dưới Cận dưới 
23 
Qua sơ đồ trên ta thấy các nhánh P2, P12, P1112 cĩ cận dưới lớn hơn cp 
= 104 vì thế các hành trình của các nhánh đĩ cĩ tổng chi phí lớn hơn 
cp. chỉ cĩ nhánh P112 cĩ cận dưới là 101 nhỏ hơn cp. Tiếp theo ta tìm 
hành trình mới theo nhánh này và làm tương tự ta được hành trình : 
(5,1),(1,4),(4,6),(6,3),(3,2),(2,5) với tổng chi phí là 104. 
Vậy cĩ 2 hành trình tìm được qua tất cả các đỉnh của đồ thị với chi 
phí thấp nhất là : 104 là : 
(1,4);(4,6);(6,3);(3,5);(5,2);(2,1) 
 và (1,4);(4,6);(6,3);(3,2);(2,5);(5,1) 
24 
KẾT LUẬN 
 - Qua quá trình nghiên cứu đề tài tơi đã nhận được một số kết quả 
sau: 
 1. Với bản thân đã hệ thống được một số kiến thức về Lý thuyết 
đồ thị và hiểu sâu hơn về các bài tốn tìm đường đi ngắn nhất. 
 2. Đưa ra được các phương án vận dụng. 
 3. Giải được một số bài tốn thực tế về tìm đường đi ngắn nhất. 
 4. Hướng phát triển của đề tài: Tiếp tục nghiên cứu vận dụng lý 
luận và kết quả của lý thuyết đồ thị, các thuật tốn tìm đường đi ngắn 
nhất để giải quyết nhiều hơn các bài tốn thực tế. 
 - Luận văn này được viết với mong muốn tìm hiểu sâu hơn những 
ứng dụng của các thuật tốn tìm đường đi ngắn nhất, để từ đĩ giải 
quyết được các bài tốn thực tế cần tìm các hành trình tiết kiệm. 
            Các file đính kèm theo tài liệu này:
 tomtat_12_8077.pdf tomtat_12_8077.pdf