Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
154,97 KB
Nội dung
1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
- -
HỒ TRUNG CANG
BÀI TOÁNTÌMĐƯỜNG ĐI NGẮNNHẤT
VÀ ỨNGDỤNG
CHUYÊN NGÀNH: PHƯƠNG PHÁP TOÁ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 hoàn thành tại
ĐẠI HỌC ĐÀ NẴNG
Người hướng dẫn khoa học: PGS-TSKH Trn Quc
Chin
Phản biện 1: TS. CAO VĂN NUÔI
Phản biện 2: TS. HOÀ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 ứngdụ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
toá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 toán phức tạp trong thực tế, trong ñó vấn ñề tìm
ñường ñi ngắnnhất giúp chúng ta giải quyết ñược rất nhiều bài toán
trong thực tế. Vì vậy, tôi ñã chọn ñề tài: “Bài toántìm ñường ñi
ngắn nhấtvàứ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ắnnhấtvà các
thuật toántìm ñường ñi ngắn nhất.
Các ứngdụng của bài toántì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 toán ñường ñi ngắn
nh
ất và một số ứngdụng của nó.
4
3.2. Phạm vi nghiên cứu:
Các thuật toántìm ñường ñi ngắnnhấtvà một số ứngdụng
của bài toántì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 toán về ñường ngắn
nhất, các ứngdụng phục vụ cho ñề tài.
5. Cấu trúc luận văn:
Ngoà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 TOÁNĐƯỜNG ĐI NGẮNNHẤT
Chương 3 : ỨNGDỤ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, e
1
, v
1
, e
2
,v
2,
….,v
n-1
,e
n
,w) trong ñó v
i
(i=1,…,n-1) là các ñỉnh
trên dãy và e
i
(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 (e
1
, e
2
,….,e
n
) thỏa mãn ñỉnh cuối cùng của cung e
i
là ñỉnh
ñầu của cung e
i+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ắnnhấ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 TOÁNĐƯỜNG ĐI NGẮNNHẤT
2.1. Đường ñi ngắnnhất giữa 2 ñỉnh:
2.1.1. Phát biểu bài toá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 n
v 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 toán ñặt ra là tìm ñường ñi ngắn
nhất từ a ñến z.
2.1.2. Thuật toán Dijkstra :
Thật toántìm ñường ñi ngắnnhấ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ắnnhấ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ắnnhấ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 toán Dijkstra là ñúng.
Chứng minh
Kí hiệu lần lượt các ñỉnh v chọn bước 2 là v
0
= a, v
1
, v
2
,
v
m
. Ta chứng minh bằng qui nạp rằng L(v
i
) chính là ñộ dài ñường ñi
ngắn nhất từ a ñến v
i
,
i
∀
, i = 1, 2, 3, , m
- Bước cơ sở : Hiển nhiên L(v
1
) là ñộ dài ngắnnhất từ a ñến v
1
.
- Bước qui nạp : Giả thiết L(v
i
) là ñộ dài ñường ñi ngắnnhất từ a
ñến v
i
i k
∀ ≤
. Ta chứng minh rằng L(v
k
) là ñộ dài ñường ñi ngắn
nhất từ a ñến v
k
.
Gọi P là ñường ñi ngắnnhất từ a ñến v
k
có ñộ dài l(P). Các ñỉnh trên
P trừ v
k
phải thuộc S = {v
1
, v
2
, , v
k-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( , ) ( )
k
L u L v v u L v
≤ + ≤ , nên u phải bị loại ra khỏi T ở bước
(2) trước v
k
, hay u phải thuộc S, và ñây là ñiều mâu thuẫn.
Bây giờ gọi v
h
là ñỉnh trước v
k
trên P. Theo cách tính lại
nhãn ta có :
( ) ( ) w( , ) ( )
k h h k
L v L v v v l P
≤ + ≤
Suy ra L(v
k
) là ñộ dài ñường ñi ngắnnhất từ a ñến v
k
.
[...]... i ) 13 Bài toá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 toán nhánh c n: Thu t toán nhánh c n là m t trong nh ng phương pháp ch y u ñ gi i bài toá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 toá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... ñ 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 toántìm ñư ng ñi ng n nh t ñ gi i quy t nhi u hơn các bài toá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 toántìm ñư ng ñi ng n nh t, ñ t ñó gi i quy t ñư c các bài toán th c t c n tìm các hành trình ti t ki m ... 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 toántì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 toá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à. .. t và tâm ñ th là {C} Do ñó ta nên xây b nh vi n xã Đ k Xú 3.4 Bài toántì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 toán. .. 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:... 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: 19 P(SL,ĐX) = ĐK , P(ĐK,ĐX) = ĐD , P(ĐD,ĐX) = ĐX V y ta nên ñi như sau : Sa Long Đ kan Đ kD c Đ k Xú, v i chi u dài là D(SL,ĐX) = 16 3.4.2 Bài toán 2: Dùng gi i thu t Floyd-Warshall tìm ñư ng ñi ng n nh t gi a các ñ a ñi... ñi qua t t c các ñi m du lich) 10 1 1 10 c 6 5 2 4 h 1 4 a k 4 b 2 5 z 8 d 3 3 2 e g 6 5 3 8 f Áp d ng thu t toá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 toán c c ti u t ng ( bài toán ch n v trí xây d ng trư ng h c) : 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... bài toán này ta dùng thu t toá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, 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 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 toán c c ti u tr l n nh t (bài toántì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 toán này ta xem m i xã... nh t gi a m i c p ñ nh : 2.2.1 Phát bi u bài toá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) µ = v0 →v1 →v2 → →vn−1 →vn L (µ ) = Đ dài ñư ng ñi có t ng các tr ng s n ∑ i =1 w (v i − 1 , v i ) Bài toá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 toán Floyd –Warshall : Thu t gi i tìm ñư ng ñi ng n nh t gi a m i c p ñ nh trong . bài toá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 toán tìm ñường ñi ngắn nhất và một số ứng dụng. GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
- -
HỒ TRUNG CANG
BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT
VÀ ỨNG DỤNG
CHUYÊN NGÀNH: PHƯƠNG PHÁP TOÁN