Luận văn:Bài toán tìm đường ngắn nhất và ứng dụng potx

24 545 0
Luận văn:Bài toán tìm đường ngắn nhất và ứng dụng potx

Đ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

1 BỘ GIÁO DỤC ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG -  - HỒ TRUNG CANG BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤTỨNG DỤNG CHUYÊN NGÀNH: PHƯƠNG PHÁP TOÁN SƠ CẤP MÃ SỐ: 60. 46. 40 TÓM TT LUN VĂN THC SĨ KHOA HC Đà 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 Trn Quc Chin 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 ứ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 toán ngắn gọn 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ắn nhấ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án tìm ñường ñi ngắn nhất ứng dụng” ñể nghiên cứu. 2. Mục ñích 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 các thuật toán tìm ñường ñi ngắn nhất. Các ứng dụng của bài toán tìm ñường ñi ngắn nhất. 3. Đối tượng 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 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 một số ứng dụng của bài toá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 toá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: 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Ắ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 các cạnh nối tiếp nhau bắt ñầu từ ñỉnh 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 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 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 ñỉ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 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 ñỉ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) 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 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ị 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ẮN NHẤT 2.1. Đường ñi ngắn nhấ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á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 ñỉ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 z + Đầu ra :L(z) chiều dài ñường ñi ngắn nhất từ a ñến z ñườ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 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ắn nhất từ a ñến v 1 . - Bước qui nạp : Giả thiết L(v i ) là ñộ dài ñường ñi ngắn nhấ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ắn nhấ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, ñâ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ắn nhấ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 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 c g ng ñánh... ñ tài: Ti p t c nghiên c u v n d ng lý lu n k t qu c a lý thuy t ñ th , các thu t toán tì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án tì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 ... (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 hi u sâu hơn v các bài toá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 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 tâm ñ th là {C} Do ñó ta nên xây b nh vi n xã Đ k Xú 3.4 Bài toá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 giúp cho các tài x lái Taxi ch n con ñư ng t v trí xe ñ u ñ n ñón khách 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 dùng thu t toán. .. cung (i,j) 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) = + ∞ ) p0(i,j) = j n u có cung t i ñ n j 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) sang (3) (3) Tính ma tr n Dk Pk theo Dk-1 Pk-1:... ng cách ng n nh t gi a các ñ nh D = D6 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 ñ 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 ñi... nh c ti u t ng duy nh t 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á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 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

Ngày đăng: 11/03/2014, 01:20

Hình ảnh liên quan

từ ñiểm du lịch này ñến ñiểm du lịch kia. Trên hình sau là 10 ñiểm - Luận văn:Bài toán tìm đường ngắn nhất và ứng dụng potx

t.

ừ ñiểm du lịch này ñến ñiểm du lịch kia. Trên hình sau là 10 ñiểm Xem tại trang 14 của tài liệu.
xã được mơ hình hóa thành ñồ thị sau: - Luận văn:Bài toán tìm đường ngắn nhất và ứng dụng potx

x.

ã được mơ hình hóa thành ñồ thị sau: Xem tại trang 15 của tài liệu.
khoảng cách từ xã ñó đến xã kề. Giả sử vị trí các xã ñược mơ hình - Luận văn:Bài toán tìm đường ngắn nhất và ứng dụng potx

kho.

ảng cách từ xã ñó đến xã kề. Giả sử vị trí các xã ñược mơ hình Xem tại trang 16 của tài liệu.
Ta sẽ mơ hình hóa bài tốn đặt ra bằng ñồ thị có trọng số - Luận văn:Bài toán tìm đường ngắn nhất và ứng dụng potx

a.

sẽ mơ hình hóa bài tốn đặt ra bằng ñồ thị có trọng số Xem tại trang 20 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan